python如何匹配换行符

admin 百科 12
Python中点号默认不匹配换行符,需用re.DOTALL(re.S)使其匹配;显式匹配换行符应直接使用\n、\r\n或[\r\n]+;re.MULTILINE仅影响^和$的行首行尾匹配行为。

python如何匹配换行符-第1张图片-佛山资讯网

Python 中匹配换行符,关键在于理解正则表达式默认行为和如何启用多行模式。

默认情况下点号(.)不匹配换行符

正则中的 . 默认只匹配除换行符(\n\r\r\n)以外的任意字符。所以像 re.search(r'a.b', 'a\nb') 会返回 None

用 re.DOTALL 让点号匹配换行符

加上 re.DOTALL 标志(或简写 re.S),就能让 . 匹配包括换行符在内的所有字符:

  • re.search(r'a.b', 'a\nb', re.DOTALL) → 匹配成功
  • re.findall(r'a.b', 'a\nb\nc\nd', re.S) → 可跨行匹配连续的 a?b 模式

直接匹配换行符本身

如果目标是**显式捕获换行符**,不用依赖点号,直接写转义序列即可:

标签: linux python 正则表达式 windows mac unix macos win cos

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~