带字符串排除的正则表达式



我试图在python中使用正则表达式,但它不能正常工作。

我在测试这个

re.match("111.126.1(2.(12[^1]|13[^5])|(3.(1([.^78]))))", "111.126.13.178")

我想排除111.126.12.121, 111.126.12.135和所有111.125.13.1[78]X

任何建议吗?

先删除[.^78]中的点

你的正则表达式不能匹配'111.126.14。XXX'或'111.127.XX '。XXX’等。

>>> a=re.match("111.126.1(2.(12[^1]|13[^5])|(3.(1([^78]))))", "111.126.14.178")
>>> a
>>> 

可以使用:

>>> a=re.match("111.126.1(2.(12[^1]|13[^5])|(3.(1([^78])))|([^23].*))", "111.126.14.178")
>>> a
<_sre.SRE_Match object at 0x10748abe8>
>>> a.group(0)
'111.126.14.178'
>>> 

对于normal,我建议您在前面加上""。"因为"。'是一个特殊字符,可以匹配除换行符以外的任何字符。

相关内容

  • 没有找到相关文章

最新更新