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

编写正则表达式提取第4个斜杠与首个下划线间内容

正则表达式提取指定片段方案

针对字符串 /AB/PS/EUR/ES_Electr_ML_TB,要提取第4个斜杠与第一个下划线之间的内容(即ES),可以用以下两种正则方案:

方案1:捕获组匹配

正则表达式:

^\/[^\/]+\/[^\/]+\/[^\/]+\/([^_]+)_

匹配逻辑:

  • ^\/:匹配字符串开头的第一个斜杠
  • [^\/]+\/:重复三次,分别匹配前三个分段(AB/、PS/、EUR/),[^\/]+表示匹配任意非斜杠字符
  • ([^_]+):捕获组,匹配所有非下划线字符,这就是我们需要提取的目标内容
  • _:匹配第一个下划线,明确截止位置

Python示例代码:

import re
target_str = "/AB/PS/EUR/ES_Electr_ML_TB"
match_result = re.search(r"^\/[^\/]+\/[^\/]+\/[^\/]+\/([^_]+)_", target_str)
if match_result:
    print(match_result.group(1))  # 输出:ES

方案2:正向回顾后发断言(无捕获组)

正则表达式:

(?<=\/[^\/]+\/[^\/]+\/[^\/]+\/)[^_]+

匹配逻辑:

  • (?<=\/[^\/]+\/[^\/]+\/[^\/]+\/):正向回顾后发断言,确保当前位置前是三个完整的/xxx/分段
  • [^_]+:直接匹配到第一个下划线前的所有非下划线字符,无需额外提取捕获组

Python示例代码:

import re
target_str = "/AB/PS/EUR/ES_Electr_ML_TB"
result = re.search(r"(?<=\/[^\/]+\/[^\/]+\/[^\/]+\/)[^_]+", target_str).group()
print(result)  # 输出:ES

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 01:06:24