Python 正则表达式 匹配任意字符

  .(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符

>>>
>>> r=re.compile(r'.*')
>>> r.search('How are you\nFine thank you and you\nI am fine too').group()
'How are you'
>>>

这个例子可以看出.*(点-星)匹配除了换行外的所有字符,但无法匹配换行符,如何匹配包括换行符的所有字符呢?

1、通过传入re.DOTALL或者re.S作为re.compile()的第二个参数

>>>
>>> r=re.compile(r'.*',re.DOTALL)
>>> r.search('How are you\nFine thank you and you\nI am fine too').group()
'How are you\nFine thank you and you\nI am fine too'

>>> r=re.compile(r'.*',re.S)
>>> r.search('How are you\nFine thank you and you\nI am fine too').group()
'How are you\nFine thank you and you\nI am fine too'
>>>

2、通过  (.|\n)*  正则表达式来匹配所有字符

>>>
>>> r=re.compile(r'(.|\n)*')
>>> r.search('How are you\nFine thank you and you\nI am fine too').group()
'How are you\nFine thank you and you\nI am fine too'
>>>

  除了re.DOTALL外,re.IGNORCASE(等价于re.I),re.MULTILINE(re.M),也是很有用的参数

re.IGNORCASE可以忽略大小写

>>>
>>> r=re.compile(r'hello',re.I)
>>> r.findall('Hello hello world heLLo')
['Hello', 'hello', 'heLLo']
>>>

 

转载于:https://www.cnblogs.com/pigwan7/p/7814777.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值