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

如何使用Regex识别唯一小数点后数字实现文本按章节分组匹配?

按章节主编号分组匹配文本的正则方案

你需要把小数点后主编号相同的章节(比如1.21-1、1.21-2、1.21-3)归为同一个匹配组,核心是利用反向引用识别后续章节的主编号是否和当前组一致,只在主编号变化时分割。

最终正则表达式

启用**多行模式(MULTILINE)**后,使用以下正则:

(^§\s1\.(\d{1,4}).+?)(?=^§\s1\.(?!\2)\d{1,4})|^§\s1\.(\d{1,4}).+$

正则拆解

  • ^§\s1\.(\d{1,4}):匹配章节开头,捕获小数点后的主编号(比如11、15、21)到分组2
  • .+?:非贪婪匹配当前组内的所有文本,避免过度匹配到其他组
  • (?=^§\s1\.(?!\2)\d{1,4}):正向预查,确保下一个章节的主编号和当前组(分组2)的主编号不同,触发分割
  • |^§\s1\.(\d{1,4}).+$:单独匹配最后一个章节组(因为它后面没有后续章节,不需要预查)

匹配效果验证

针对你的示例文本,会得到3个匹配结果:

  1. 包含§ 1.11-1的所有内容
  2. 包含§ 1.15-1的所有内容
  3. 包含§ 1.21-1、§ 1.21-2、§ 1.21-3的所有内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:03:26