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

求匹配通配符深度小于3级的路径的正则表达式

适配SQL REGEXP_LIKE的路径匹配正则

正则表达式

^(?:\*|(?:[^/*]*(?:\*[^/*]*)*\/){0,2}[^/*]*(?:\*[^/*]*)*(?:\/[^/*]*)*)$

核心逻辑

  • 支持单独的*直接匹配
  • 所有带*的目录段必须落在前3个层级(按/分割路径,从0开始计数):
    • 比如abc*/def/ghij里*在第1段,符合;/abc/*def/ghij里*在第3段,符合
    • 而/abc/def/*里*在第4段,超出限制,不匹配
  • 第4段及以后的目录里不能出现*

SQL中使用的转义版本

因为SQL字符串需要转义反斜杠,所以实际在REGEXP_LIKE里用的表达式是:

'^(?:\\*|(?:[^/*]*(?:\\*[^/*]*)*\\/){0,2}[^/*]*(?:\\*[^/*]*)*(?:\\/[^/*]*)*)$'

测试用例

匹配成功

  • *
  • abc*/def/ghij
  • /abc/*def/ghij
  • */abc/def
  • abc*def/ghi/jkl

匹配失败

  • /abc/def/*
  • abc/def/ghi/*j
  • /a/b/c/*d

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:55:22