python-3.x - python : ICD-10 RegEx

标签 python-3.x regex icd

目标:创建 ICD-10 代码的正则​​表达式。

格式

  • 强制开头:字母数字(字母数字),
  • 可选结尾:有一个 .,然后最多 4 个字母或数字

我已经完成了上半场的大部分时间:

r'[A-Z][0-9][0-9]'

后半部分我被困住了:

([a-z]|[0-9]){1,4}$

如果有生成的东西,它必须有一个点

示例:.0.A9.A9A9.ZZZZ.9999 等等


Test Python RegEx

注意:我知道某些 ICD-10 代码不超过特定的数字/字母;但我对此很满意。

最佳答案

你可以使用

^[A-Z][0-9][A-Z0-9](?:\.[A-Z0-9]{1,4})?$

请参阅regex demo详细信息:

  • ^ - 字符串 anchor 的开头
  • [A-Z] - 大写 ASCII 字母
  • [0-9] - 仅 ASCII 数字
  • [A-Z0-9] - 大写 ASCII 字母或 ASCII 数字
  • (?:\.[A-Z0-9]{1,4})? - 可选序列
    • \. - 一个点
    • [A-Z0-9]{1,4} - 出现一到四次大写 ASCII 字母或 ASCII 数字
  • $ - 字符串 anchor 结尾(或者也可以在此处使用 \Z)。

在Python代码中,您可以使用以下代码来验证字符串输入:

icd10_rx = re.compile(r'[A-Z][0-9][A-Z0-9](?:\.[A-Z0-9]{1,4})?')
if icd10_rx.fullmatch(text):
    print(f'{text} is valid!')

请注意, anchor 被省略,因为 Pattern.fullmatch (与 re.fullmatch 相同)需要完整的字符串匹配。

关于python-3.x - python : ICD-10 RegEx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71410627/

相关文章:

ruby - 使用 gsub 或 sub 替换一个字符

c# - .NET BindingSource.Filter 与正则表达式

c# - 在 C# 中验证不同的日期格式

bash - 使用 awk 为患者识别疾病

r - 是否有 R 函数将 ICD10 代码的数据帧转换为各自的子章节

python - 如何从python安装文件中排除特定的依赖包版本

python - 如何安装支持 Python 3 的 PyGObject

python - pygame.midi.Input.read 不能是字符串

python - pywinauto:如何选择这个对话框?使用哪种 spy 工具?我需要什么信息?