首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python: ICD-10 RegEx

Python: ICD-10 RegEx
EN

Stack Overflow用户
提问于 2022-03-09 14:06:27
回答 1查看 287关注 0票数 1

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

格式化

  • 强制启动:LetterDigit,( LetterDigit),
  • 可选结尾:有一个.,最多4个字母或数字

我上半场的大部分时间都是:

代码语言:javascript
运行
复制
r'[A-Z][0-9][0-9]'

后半段我被困住了:

代码语言:javascript
运行
复制
([a-z]|[0-9]){1,4}$

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

例如:.0.A9.A9A9.ZZZZ.9999等。

测试Python RegEx

注:我知道一些ICD-10码不会超过某个数字/字母,但我对此没有意见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-09 14:16:05

您可以使用

代码语言:javascript
运行
复制
^[A-Z][0-9][A-Z0-9](?:\.[A-Z0-9]{1,4})?$

regex演示。详细信息

  • ^ -字符串锚的启动
  • [A-Z] -大写ASCII字母
  • [0-9] - ASCII唯一的数字
  • [A-Z0-9] -大写字母或ASCII数字
  • (?:\.[A-Z0-9]{1,4})? -一个可选的序列
    • \. -a点
    • [A-Z0-9]{1,4} -一个大写字母或一个ASCII数字出现一到四次

  • $ -字符串锚点的末端(也可以在这里使用\Z )。

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

代码语言:javascript
运行
复制
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 (与re.fullmatch相同)需要一个完整的字符串匹配,所以没有锚。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71410627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档