我试图在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,我建议您在前面加上""。"因为"。'是一个特殊字符,可以匹配除换行符以外的任何字符。