我正在尝试制作一个正则表达式,当它有一个数字后跟一个 ok 词时匹配一行。
例如:
10 ok
但是如果ok这个词后面有一个数字和nok,那么应该是不匹配的。 例如:
10 ok 2 nok
我正在使用以下正则表达式来实现此目的:
[0-9]+\s+ok\s+(?!([0-9]+\s+nok))
我正在使用 Which regular expression operator means 'Don't' match this character? 中的第 4 个答案在我的正则表达式中生成一个 not 功能。
这是我的代码:
import re
prog=re.compile('[0-9]+\s+ok\s+(?!([0-9]+\s+nok))')
result=prog.search('108601 ABC_kill 11 ok 3 nok 95m 25_KLPO casdas5 dus41 fdd tm500 sdfsd1010_1014 2m 2016-02-11 02:30:50 2016-02-11 08:53:59')
print (result)
但我的模式仍然匹配包含 nok
请您参考如下方法:
