正则表达式 | 用于ICD9代码的REGEX

3

我正在使用Python提取ICD9代码。并且正在使用以下正则表达式:

icdRegex = recomp('V\d{2}\.\d{1,2}|\d{3}\.\d{1,2}|E\d{3}\.\d')

它捕获类似于137.98或V35.62的模式。

除了表达式也会捕获ICD9代码作为患者体重外,一切正常。

现在我观察到的是,体重几乎总是出现为例如110.67公斤或千克或磅或磅

我该如何将ICD9与体重分开!?


你可以使用负向先行断言。参见此问题 - HamZa
我尝试了stackoverflow上大部分的方法,但都无法工作。也许我对正则表达式太蠢了。 - WeShall
1
Bob's your uncle - HamZa
1
运行得非常顺利!! - WeShall
2个回答

1
在此处添加否定先行断言,如下所示:
(V\d{2}\.\d{1,2}|\d{3}\.\d{1,2}|E\d{3}\.\d)\b(?!\s?(?:lb|kg)s?)

有些东西丢失了... 它仍然将肥胖重量捕捉为ICD9代码。 - WeShall

1

这是HamZa对所有人的表达:

icdRegex = recomp("\b(?:V\d{2}\.\d{1,2}|\d{3}\.\d{1,2}|E\d{3}\.\d)\b(?!\s*(?:kg|lb)s?\b)")

感谢HamZa和Chapelo的帮助。非常感激。

大家好,我们写的正则表达式在将近两个月前出了一个问题。对于以0开头的数字,它会捕获错误的模式。例如:如果ICD9代码是032.9,该表达式将返回329。有没有修复以0开头的代码的方法呢? - WeShall
此线程有进一步的细化,请参见这里 - WeShall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接