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

Bash中判断路径匹配通配路径前缀的正则表达式实现方法

答案
  • 该需求完全可以通过正则实现,不需要拆分路径处理。
  • 匹配规则对应的正则表达式为:^this/is/([^/]+/it/)?$
  • 正则逻辑说明:
    • ^ 匹配路径字符串开头,$ 匹配路径字符串结尾,避免出现部分匹配的问题
    • 固定前缀this/is/匹配必选的前两级目录
    • 可选分组([^/]+/it/)?对应模式中的*/it/部分:[^/]+匹配任意不含斜杠的文件夹名(对应通配符*),?代表该部分要么完整存在,要么完全不存在
  • Bash 中正确使用示例:
# 替换为你要判断的目标路径
target_path="this/is/definitely/it/"
pattern='^this/is/([^/]+/it/)?$'
if [[ $target_path =~ $pattern ]]; then
  echo "符合规则"
else
  echo "不符合规则"
fi
  • 测试效果完全匹配你给出的示例:
    • 返回true:this/is/、this/is/definitely/it/
    • 返回false:whats/this/、this/is/a/test/

注意:Bash的=~运算符右侧的正则不要加双引号,否则会被识别为普通字符串而非正则表达式,导致匹配失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:45:03