gpt4 book ai didi

python - 没有条件的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:07 25 4
gpt4 key购买 nike

我正在尝试使用执行以下操作的正则表达式:匹配任何没有单词“Chrome”后跟单词“Safari”的文本

我整理了一个不起作用的 python 脚本。

#!/usr/bin/env python

import sys
import re

# any text but 'Chrome' followed by Safari

negative_re = re.compile( '(?<!Chrome).*?Safari' )

matcher = negative_re.search( sys.argv[1] )
if matcher:
print "match"
else:
print "no match"

我试过下面的例子

test_negative.py "Chrome Mobile/12345 Safari"
> match

test_negative.py "Like MAC OS Safari"
> match

我希望第一个返回“不匹配”,第二个返回“匹配”。如果有人可以帮助处理正则表达式,那就太好了,谢谢。

最佳答案

您不能只编写正则表达式来匹配 if Safari 跟随 Chrome 然后否定条件吗?

#!/usr/bin/env python

import sys
import re

# any text but 'Chrome' followed by Safari

negative_re = re.compile(r'Chrome.*Safari')

matcher = negative_re.search(sys.argv[1])
if matcher is None:
print "match"
else:
print "no match"

这对我来说似乎更容易。

结果:

mgilson@iris:~/sandbox$ python test.py "Like MAC OS Safari" 
match
mgilson@iris:~/sandbox$ python test.py "Chrome Mobile/12345 Safari"
no match

关于python - 没有条件的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16485736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com