python3 正则匹配[^abc]和(?!abc)的区别(把多个字符作为一个整体匹配排除)
Posted 丛影HHZ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 正则匹配[^abc]和(?!abc)的区别(把多个字符作为一个整体匹配排除)相关的知识,希望对你有一定的参考价值。
目的:把数字后面不为abc的字符串找出来
如1ab符合要求,2abc不符合要求
1 str = ‘1ab‘ 2 out = re.match(r‘\d+(?!abc)‘,str) 3 4 str1 = ‘1abc‘ 5 out1 = re.match(r‘\d+(?!abc)‘,str1) 6 7 print(‘out:‘,out) 8 print(‘out1:‘,out1) 9 # 10 #out: <_sre.SRE_Match object; span=(0, 1), match=‘1‘> 11 #out1: None 12 #
如果把(?!abc)改为[^abc],效果如下:
1 str = ‘1ab‘ 2 out3 = re.match(r‘\d+[^abc]‘,str) 3 4 str1 = ‘1abc‘ 5 out4 = re.match(r‘\d+[^abc]‘,str1) 6 7 print(‘out:‘,out3) 8 print(‘out1:‘,out4) 9 10 # 11 #out3: None 12 #out4: None
以上是关于python3 正则匹配[^abc]和(?!abc)的区别(把多个字符作为一个整体匹配排除)的主要内容,如果未能解决你的问题,请参考以下文章