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

如何修改正则表达式,使其仅在前句含and时匹配句首的And?

正则匹配规则修改方案

你当前使用的.*\b(and)\b.*\. And存在贪婪匹配问题,.*会跨多个句子检索and,只要全文任意位置存在and,后续的所有And都会被命中,无法限制仅在And的前一个句子中检索and。

修改后的正则表达式

[^\.]+\band\b[^\.]*\.\s*And

规则拆解

  • [^\.]+:匹配前一个句子中and之前的所有非句号字符,确保检索范围不会跨到更早的句子
  • \band\b:全字匹配前一个句子中的小写and
  • [^\.]*:匹配前一个句子中and之后到句尾句号前的所有非句号字符
  • \.\s*:匹配前一个句子的结尾句号,以及句号和后续And之间的任意空白字符(包含空格、换行等)
  • And:匹配目标首字母大写的And

效果验证

针对你给出的测试场景:

Text and text text. Text text. And text. (不要匹配此处的"And.")
Text and text text. And text. (匹配此处的"And.")

修改后的正则只会命中第二个场景中的And,完全符合需求。

注:如果文本中存在带句号的缩写(如Dr.、Mr.),会被误判为句子边界,该场景需要额外调整规则适配特殊缩写。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:39:02