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

如何用正则表达式匹配第n次与第n+1次出现项之间的内容?

提取指定斜杠区间内容的正则方案

给定字符串:

aBcD-19/WES/VA-MKL-2217223/2020

需要提取第2个/和第3个/之间的内容VA-MKL-2217223,这里提供两种精准匹配的正则方案:

方案一:捕获组匹配

使用带捕获组的正则直接锁定目标区间:

^[^/]+/[^/]+/([^/]+)/
  • 逻辑说明:
    • ^[^/]+ 匹配从字符串开头到第一个/的所有非/字符
    • /[^/]+/ 匹配第一个/到第二个/之间的内容及前后的/
    • ([^/]+) 捕获第2个/之后、第3个/之前的所有非/字符(即目标内容)
    • 最后一个/匹配第3个/用于定位边界
    • 提取结果时取捕获组1的内容即可

方案二:正向后顾断言匹配

用后顾断言定位目标区间的起始位置,直接匹配目标内容:

(?<=/[^/]+/)[^/]+
  • 逻辑说明:
    • (?<=/[^/]+/) 是正向后顾断言,确保当前位置前面是「一个/ + 任意非/字符 + 一个/」,也就是刚好在第2个/之后的位置
    • [^/]+ 匹配所有非/字符,直到遇到第3个/停止,直接得到目标内容

关于原正则的问题

你之前写的'\S+?/'会匹配任意非空白字符到第一个/,所以会得到aBcD-19/、WES/、VA-MKL-2217223/三个匹配项,没有精准锁定第2和第3个/的区间,因此无法直接得到目标内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 05:25:24