re.S、re.I、re.M

re.S (使 . 匹配包括换行在内的所有字符)

re.I(不区分大小写)

 

 re.M(多行匹配)

^只匹配字符串的开头,$只匹配字符串结尾,.不匹配换行符.
re.S做的事情是: 让.也匹配换行符
re.M做的事情是: 让^匹配每行的开头,$匹配每行的结尾

import re

line = "Cats are smarter than dogs"

matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)

text = """First line.
Second line.
Third line."""

pattern = "^(.*?)$"  # Match anything from the start to end. 非贪婪匹配

# 让^、$只匹配字符串的开头、结尾, .不匹配换行符
ret1 = re.search(pattern, text)
print("ret1----%s", ret1)

# 让.匹配换行符
ret2 = re.search(pattern, text, re.S)
print("ret2---%s",ret2.group())

# 让^、$匹配每行的开头、结尾, 同时让.匹配换行符, 且pattern是非贪婪匹配
ret3 = re.search(pattern, text, re.M | re.S)
print("ret3----%s",ret3.group())

# 让^、$匹配每行的开头、结尾, 同时让.匹配换行符, 且pattern是贪婪匹配
ret4 = re.search("^(.*)$", text, re.M | re.S)
print("ret4----%s", ret4.group())

# 让^、$匹配每行的开头、结尾, 非贪婪
ret5 = re.findall(pattern, text, re.M)
print("ret5----%s", ret5)

运行结果:

 

原文地址:https://www.jianshu.com/p/fe7441d9cc7b,如有侵权,请联系删除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值