Python:ICD-10 正则表达式

Python: ICD-10 RegEx

目标:创建 ICD-10 代码.

的正则表达式

格式

我上半场的大部分时间:

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详情:

  • ^ - 字符串锚点的开始
  • [A-Z] - 大写 ASCII 字母
  • [0-9] - 仅 ASCII 数字
  • [A-Z0-9] - 大写 ASCII 字母或 ASCII 数字
  • (?:\.[A-Z0-9]{1,4})? - 一个可选的序列
    • \. - 一个点
    • [A-Z0-9]{1,4} - 出现一到四次大写 ASCII 字母或 ASCII 数字
  • $ - 字符串锚点的结尾(或者 \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!')

请注意锚点被遗漏了,因为 Pattern.fullmatch (same as re.fullmatch) 需要完整的字符串匹配。