Python:ICD-10 正则表达式
Python: ICD-10 RegEx
目标:创建 ICD-10 代码.
的正则表达式
格式
- 强制开始:
Letter
,Digit
,(Letter
或Digit
),
- 可选结尾:有一个
.
然后最多 4 个字母或数字
我上半场的大部分时间:
r'[A-Z][0-9][0-9]'
我坚持的下半场:
([a-z]|[0-9]){1,4}$
如果有东西生成,它必须有一个点.
示例:.0
或.A9
或.A9A9
或.ZZZZ
或.9999
等
注意:我知道一些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
) 需要完整的字符串匹配。
目标:创建 ICD-10 代码.
的正则表达式格式
- 强制开始:
Letter
,Digit
,(Letter
或Digit
), - 可选结尾:有一个
.
然后最多 4 个字母或数字
我上半场的大部分时间:
r'[A-Z][0-9][0-9]'
我坚持的下半场:
([a-z]|[0-9]){1,4}$
如果有东西生成,它必须有一个点.
示例:.0
或.A9
或.A9A9
或.ZZZZ
或.9999
等
注意:我知道一些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
) 需要完整的字符串匹配。