正则表达式与字符串排除

时间:2016-11-04 11:05:45

标签: python regex

我正在尝试在rethon中使用python中的正则表达式,但它无法正常工作。

我正在测试

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

我想排除111.126.12.121111.126.12.135和所有111.125.13.1[78]X

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

首先删除[。^ 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'
>>> 

正常情况下我建议您添加&#39; \&#39;之前&#39;。&#39;因为&#39;。&#39;是一个特殊字符,匹配除换行符之外的任何字符。