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

如何用正则表达式提取字符串第一个与最后一个斜杠之间的子串

路径中间段提取正则解决方案

你原有正则/^(.*?).([^\/]*)$/存在两个核心问题:

  • 没有将.替换为斜杠匹配规则,.会匹配任意字符,无法精准定位斜杠位置
  • 没有限定第一个斜杠的匹配边界,因此只能匹配到最后一个斜杠前的全部内容,无法排除第一个斜杠前的前缀

方案1:捕获组方案(兼容性最好,所有正则引擎支持)

正则表达式:^[^/]+/(.*)/[^/]+$

规则说明:

  • ^[^/]+:匹配从字符串开头到第一个斜杠之前的所有非斜杠字符,即示例中的just前缀
  • /:匹配路径中第一个斜杠
  • (.*):贪婪匹配内容,自动延伸到最后一个符合后续规则的位置,捕获的内容就是你需要的中间段
  • /[^/]+$:匹配最后一个斜杠以及之后到字符串结尾的所有非斜杠字符,即示例中的file.txt后缀

使用效果:

对示例字符串just/the/path/to/file.txt执行匹配后,取第一个捕获组的内容即可得到the/path/to。


方案2:零宽断言方案(无需取捕获组,需正则引擎支持后顾/前瞻断言)

正则表达式:(?<=/).*(?=/)

规则说明:

  • (?<=/):后顾断言,限定匹配内容的前一个字符是斜杠
  • .*:贪婪匹配所有字符,自动延伸到最后一个符合后续规则的位置
  • (?=/):前瞻断言,限定匹配内容的后一个字符是斜杠

使用效果:

对示例字符串just/the/path/to/file.txt执行匹配后,直接得到匹配结果the/path/to。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:57:04