编写正则表达式提取第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
相关产品推荐
相关产品推荐

