正则表达式只匹配一次

时间:2017-03-03 01:20:44

标签: python regex

我有多字符串看起来像

    "Km.Km"
    "Vmax.Km"
    "Kcat.Km"
    "Km"   

我想查找Km只显示一次,字符串中只有Km。 在这种情况下,Km是我的答案。 我尝试了^(?!.*(Kcat|Vmax)).*Km.*$,但这会显示km这样的Km.Km,我需要km只有一次。

2 个答案:

答案 0 :(得分:2)

您对比赛的要求并不十分清楚,但如果您知道您希望Km只出现在中间组中,您可以使用

In [44]: for item in items:
    ...:     print(re.findall(r'^\w+\.Km\.\w+$', item))
    ...:     
[]
[]
[]
[]
['v4.Km.X9']
['v4.Km.X10']

答案 1 :(得分:0)

试试这个:

re.findall(r'(?i)\b[^.]km\b',string)
Out[40]: [' Km']