python正则匹配统计_Python 正则表达式 匹配次数

管道可以匹配多个正则表达式中的一个

>>>

>>> m=re.search(r'Batman|Tina Fey','Batman and Tina Fey')

>>> print(m.group())

Batman

>>> m=re.search(r'Batman|Tina Fey','Tina Fey and Batman')

>>> print(m.group())

Tina Fey

>>>

问号表明它前面的字符或分组在这个模式中是可选的,匹配“零次或一次"

>>> batRegex=re.compile(r'Bat(wo)?man')

>>> m1=batRegex.search('I am a Batman')

>>> print(m1.group())

Batman

>>> m2=batRegex.search('I am a Batwoman')

>>> print(m2.group())

Batwoman

>>>

在上述正则表达式中wo是可选的,既可以匹配Batman,又可以匹配Batwoman

>>>

>>> phoneRegex=re.compile(r'(\d{3}-)?\d{3}-\d{4}')

>>> m1=phoneRegex.search('My phone number is 021-456-2345')

>>> print(m1.group())

021-456-2345

>>> m2=phoneRegex.search('My phone number is 456-2345')

>>> print(m2.group())

456-2345

>>>

上面的正则表达式匹配的电话号码可以带区号,也可以不带区号

星号意味着“匹配零次或者多次”

>>>

>>> batRegex=re.compile(r'Bat(wo)*man')

>>> m=batRegex.search('I am a Batman')

>>> print(m.group())

Batman

>>> m=batRegex.search('I am a Batwoman')

>>> print(m.group())

Batwoman

>>> m=batRegex.search('I am a Batwowoman')

>>> print(m.group())

Batwowoman

>>>

加号意味着“匹配一次或多次”

>>>

>>> batRegex=re.compile(r'Bat(wo)+man')

>>> m=batRegex.search('I am a Batwoman')

>>> print(m.group())

Batwoman

>>> m=batRegex.search('I am a Batwowoman')

>>> print(m.group())

Batwowoman

>>> m=batRegex.search('I am a Batman')

>>> m == None

True

>>>

花括号匹配特定次数

(ha){2}匹配‘haha’

(ha){2,}匹配2次或更多次ha

(ha){.2}匹配0到2次ha

(ha){2.5}匹配2到5次ha

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值