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

如何修改正则表达式以提取含Figure的完整句子(含小数与参考文献)

正则表达式修改方案:提取包含“Figure”的完整句子

问题根源

原正则((?<=^|\s)[A-Za-z0-9][^!?.]*(Figure)[^.]*(?=\.|\!|))的缺陷在于:

  • [^!?.]会排除所有句末标点,同时也把句子中的括号、小数点(如0.0001)这类合法字符当成分隔符,导致匹配提前中断
  • [^.]同样限制了匹配范围,截断了包含括号的参考文献内容

修改后的正则表达式

(?<=^|(?<=[.!?]\s))[A-Z].*?(Figure.*?)(?=[.!?]|$)

规则解析

  • (?<=^|(?<=[.!?]\s)):正向预查,确保匹配起点是文本开头,或者句末标点(.!?)加空格之后,精准定位句子起始位置
  • [A-Z]:匹配英文句子开头的大写字母,符合学术文本的句子格式
  • .*?:非贪婪模式匹配任意字符,避免过度匹配到下一个句子
  • (Figure.*?):精准捕获包含Figure的片段,非贪婪模式保证停在当前句的句末标点前
  • (?=[.!?]|$):正向预查,确保匹配终点是句末标点(.!?)或者文本结尾,完整覆盖整句范围

测试效果

针对示例句子:

This effect (Smith et al., 2008) was seen in 0.0001% of samples (Figure 1b).

修改后的正则会完整提取:
This effect (Smith et al., 2008) was seen in 0.0001% of samples (Figure 1b)

额外说明

如果文本中存在带句号的缩写(如Mr.),可能会触发误判,此时可以针对性补充排除规则(比如(?<!Mr|Ms|Dr)\.),但学术场景下包含Figure的句子通常句末标点明确,基础版本足以覆盖大多数需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:35:22