python 不以特定字符串开头的正则表达

在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')

如果想到更好的方法,欢迎大家留言交流。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值