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

正则表达式匹配需求:匹配每个END前最近的START开头片段

问题说明

现有字符串:

Explain STARThow you STARTencountered the problem you’reSTART trying to solveEND, and anySTART difficulties that STARThave prevented you fromEND solving it yourself.

用正则 @"START.*?END" 匹配时,会把多个START到第一个END的内容都包含进去,得到的结果是:

  1. STARThow you STARTencountered the problem you’reSTART trying to solveEND
  2. START difficulties that STARThave prevented you fromEND

但实际需要的是每个END前**最近的那个START**开头的片段,也就是:

  1. START trying to solveEND
  2. STARThave prevented you fromEND
正确正则表达式
START(?:(?!START).)*?END

正则拆解

  • START:匹配片段的起始标识
  • (?:(?!START).)*?:非捕获分组,核心作用是只匹配不包含START的内容,同时用非贪婪模式(*?)确保找到第一个END就停止,不会把中间的START也包含进来
  • END:匹配片段的结束标识

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:34:54