如何检测正则表达式多个字符串的重复出现

普通的正则表达式,?+*等都是作用于单个字符的,比如下面的re表达式:

_s1 = '14234ababababerewi34dsabbfsaabbbbx.xxx'

_s1Re2 = re.search(r'ab+', _s1)
ic(_s1Re2.group(0))

_s1Re3 = re.findall(r'ab+', _s1)
ic(_s1Re3)

输出结果:

_s1Re2.group(0): 'ab'

_s1Re3: ['ab', 'ab', 'ab', 'ab', 'abb', 'abbbb']

可以看出,+作用范围只是字母b。

如果要找出多个ab连续出现,如何操作?

其实很简单,使用正则表达式的组合即()即可。

_s1 = '14234ababababerewi34dsabbfsaabbbbx.xxx'
_s1Re = re.search(r'(ab)+', _s1)
ic(_s1Re.group(0), _s1Re.group(1))

输出:

_s1Re.group(0): 'abababab'
_s1Re.group(1): 'ab'

多个abababab被顺利找出。OVER

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值