python如何匹配换行符

舞夢輝影
发布: 2025-12-21 08:59:02
原创
742人浏览过
Python中点号默认不匹配换行符,需用re.DOTALL(re.S)使其匹配;显式匹配换行符应直接使用\n、\r\n或[\r\n]+;re.MULTILINE仅影响^和$的行首行尾匹配行为。

python如何匹配换行符

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 模式

直接匹配换行符本身

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

萝卜简历
萝卜简历

免费在线AI简历制作工具,帮助求职者轻松完成简历制作。

萝卜简历 171
查看详情 萝卜简历

立即学习Python免费学习笔记(深入)”;

  • \n 匹配 Unix/Linux/macOS 换行
  • \r\n 匹配 Windows 换行(最常见)
  • \r|\n|\r\n 或更稳妥地用 [\r\n]+ 匹配各种换行组合
  • 实际中推荐 re.split(r'[\r\n]+', text) 来安全切分行

注意 re.MULTILINE 的作用不同

re.MULTILINEre.M)只影响 ^$ 的行为,让它们分别匹配每行开头和结尾,不会. 匹配换行符。别混淆这两个标志。

基本上就这些 —— 看你要的是“跳过换行继续匹配”,还是“把换行符当目标提取”,选对标志或写法就行。

以上就是python如何匹配换行符的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号