在python3中,我查看了文档,没有发现这个功能,最多是不以某个字符开头的匹配。不过还好最后折腾出来了。
功能就是用或运算将以其他形式开头的全部匹配出来,有点笨重,我这边就两个字符,勉强还算满意
t_list = ['abcabascs','bac','afdsfag','dsafewafs','dsabcadfsad','bsadfdsgwwef','abcdsfda','daseavc']
re_s = r'(ab[^c])|(a[^b]|[^a])' # 匹配 不是 abc 开头的 字符串
for t in t_list:
m = re.match(re_s,t)
if m:
print(t)
# print(m.groups())
匹配的打印如下:
bac
afdsfag
dsafewafs
dsabcadfsad
bsadfdsgwwef
daseavc
匹配的过程可以打印出来,效果如下:
(None, None, 'b')
(None, 'af', None)
(None, None, 'd')
(None, None, 'd')
(None, None, 'b')
(None, None, 'd')
如果想到更好的方法,欢迎大家留言交流。