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

正则表达式多场景匹配:如何获取所有最短匹配结果?

解决方案:用正则直接捕获所有符合要求的最短匹配

可以直接通过正则实现需求,不需要额外二次查找。核心思路是限制每个匹配的with到逗号之间不再出现with,同时开启全局匹配来获取所有结果。

正则表达式

\bwith\s+((?!\bwith\s).*?)(?=,)

正则说明

  • \bwith\s+:匹配独立的with单词,同时跳过后面的空白字符
  • (?!\bwith\s):正向否定预查,确保从当前with到逗号的区间内,不会再出现另一个with,彻底避免长匹配
  • .*?:非贪婪匹配任意字符,直到遇到逗号前的位置
  • (?=,):正向预查逗号,只匹配逗号前的内容,不把逗号包含在结果里

开启全局匹配(g修饰符)后,对你的测试字符串会精准捕获两个目标结果:punctuation 和 more punctuation,完全符合你要的最短匹配且不遗漏的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 17:58:29