You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python正则表达式匹配文本中的独立页眉

解决多行页眉的正则匹配问题

核心问题是正则的贪婪匹配导致跨页眉抓取,只需调整匹配模式即可解决:

修改后的正则表达式

使用非贪婪匹配模式,同时保留re.DOTALL处理换行:

headers = re.finditer(r"Start of the header.*?Pg\. \d\n", self.text, flags=re.DOTALL)

关键调整点

  • 将原表达式中的.*替换为.*?:.*是贪婪匹配,会尽可能多抓取内容(从第一个页眉开头一直到最后一个页眉结尾);.*?是非贪婪匹配,会在找到第一个符合条件的Pg. 数字\n时立即停止,确保只匹配单个页眉。
  • 转义Pg.中的.:正则里.代表任意字符,必须写成Pg\.才能准确匹配文本中的Pg.。

测试效果

用你提供的示例文本测试,会分别匹配到两个独立的页眉:

Start of the header
Something inside the header
Random date
Pg. 1

以及

Start of the header
Something inside the header
Random date
Pg. 2

这样就不会把中间的正文内容包含进去了。

内容的提问来源于stack exchange,提问作者Andre Guilhon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:42:39