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

PDF文档章节标题与子标题匹配正则表达式优化需求

匹配PDF章节与子标题的正则优化方案

优化后的正则表达式

针对两种标题格式,可使用两个精准正则,或合并为一个分支正则:

单独匹配章节标题(全大写格式)

^(\d+\.)\s([A-Z\s]+)$

单独匹配子标题(层级数字+带句号结尾的标题)

^(\d+(?:\.\d+)*)\s([A-Za-z,\s-]+)\.$

合并匹配两种标题

^(\d+(?:\.\d+)*)\s(?:([A-Z\s]+)$|([A-Za-z,\s-]+)\.$)

关键优化点(解决原正则的两个问题)

  1. 修复子标题匹配不全

    • 原正则的第二个捕获组[a-zA-Z0-9_ ]*仅支持字母、数字、下划线和空格,无法匹配标题中的逗号、连字符等标点。优化后改用[A-Za-z,\s-]+,可覆盖子标题里的多词、逗号、空格和连字符,完整捕获标题内容。
    • 子标题正则末尾添加\.$,强制匹配标题结尾的句号,确保捕获到完整的子标题行。
  2. 避免误匹配非标题文本

    • 章节标题通过[A-Z\s]+限制为全大写内容,过滤掉大小写混合或小写的普通数字开头文本(如1. 2023 monthly report)。
    • 子标题要求末尾必须带句号,排除无句号的数字开头行。
    • 全程用^和$锚定整行,确保匹配的是完整的标题行,而非行内的数字片段。

测试验证

  • 章节标题示例:1. SCOPE → 捕获组1为1.,捕获组2为SCOPE
  • 子标题示例1:1.1 Scope. → 捕获组1为1.1,捕获组2为Scope
  • 子标题示例2:1.3 Abbreviations, Acronyms, and Symbols. → 捕获组1为1.3,捕获组2为Abbreviations, Acronyms, and Symbols

灵活调整

如果PDF标题中包含其他标点(如冒号、分号),可将其加入字符集,例如把[A-Za-z,\s-]+修改为[A-Za-z,\s:-]+,适配实际文档格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:17:38