2017-06-15 27 views
0

我需要匹配失败计数大于5正则表达式匹配任何数量是大于5

string="""fail_count 7 

fail_count 8 

fail_count 9 

fail count 7 

fail_count 71 

fail_count 23 
""" 

match = re.search(r'fail(\s|\_)count\s[5-9]', string) 

if match: 

    print match.group() 

我能够匹配到9,但如果我增加至999它doesn”工作。

+0

看到你的意思是更大比(>)或*至少* 5(> =)?正则表达式会暗示它是后者。 – SwiftsNamesake

+0

这是否需要是一个纯正则表达式的答案? (如果是这样,为什么?)你能不能匹配**任何数字**,然后将字符串转换为一个整数并使用普通的'> 5'检查? –

+0

're.search'将返回第一个匹配项。如果你需要所有的事件 - 它不会帮助你 – RomanPerekhrest

回答

2

5-9或至少2个数字

'([5-9]|\d{2,})' 

或在启动时由5-9到整个numbre匹配。

5-9后跟任意数量的数字或至少2位数

'([5-9]\d*|\d{2,})' 
1

也许这正则表达式的解决方案可以帮助

fail(\s|\_)count\s([0-9]{2,}|[5-9]{1})

regex101