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

如何用正则从JSON文件路径中提取*-alert.json前的名称

正则提取文件路径中的目标名称

需求说明

给定以下两条Windows风格文件路径:

  1. env\nonprod\alert\prj-data-02\alt\airflow-alert.json
  2. env\nonprod\alert\prj-data-02\alt\bigquery-alert.json

需要提取每条路径中*-alert.json前面的单词(如第一条取airflow,第二条取bigquery)。

正则表达式方案

可以使用以下正则表达式精准匹配目标内容:

(?<=\\)[a-zA-Z]+(?=-alert\.json)

正则规则解释

  • (?<=\\):正向预查,匹配路径中最后一个反斜杠(正则中反斜杠需转义为\\),确保只提取文件名部分的内容
  • [a-zA-Z]+:匹配由大小写字母组成的目标名称(若需支持数字或下划线,可修改为[a-zA-Z0-9_]+)
  • (?=-alert\.json):正向预查,匹配紧跟在目标名称后的-alert.json后缀(.在正则中需转义为\.)

代码示例(Python)

import re

# 待处理的路径列表
file_paths = [
    r"env\nonprod\alert\prj-data-02\alt\airflow-alert.json",
    r"env\nonprod\alert\prj-data-02\alt\bigquery-alert.json"
]

# 编译正则表达式
pattern = re.compile(r"(?<=\\)[a-zA-Z]+(?=-alert\.json)")

# 遍历提取目标名称
for path in file_paths:
    result = pattern.search(path)
    if result:
        print(result.group())

运行后输出:

airflow
bigquery

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:35:21