求满足三项路径匹配规则的正则表达式写法
正则表达式实现方案
你需要的正则可按以下两种场景选择,均满足你提出的3项核心规则:
- 字符串以
/appl/开头 - 字符串不以
/结尾 - 字符串任意位置不包含连字符
-
场景A:仅支持单级路径(/appl/后不允许出现其他/,匹配你给出的示例规则)
正则写法
^\/appl\/[^-\/]+$
逻辑说明
^\/appl\/锚定字符串开头必须是/appl/[^-\/]+匹配1个及以上既不含-也不含/的字符,天然满足「无连字符」「不以/结尾」两个要求
场景B:支持多级路径(/appl/后可出现除-外的其他/,例如/appl/test/sub/path可正常匹配)
正则写法
^\/appl\/[^-]*[^-\/]$
逻辑说明
- 开头锚定规则同场景A
[^-]*匹配任意数量不含-的字符,允许中间出现/[^-\/]$锚定结尾字符不能是-或/,避免末尾带/的非法情况
验证结果
- 合法匹配示例:
/appl/test01、/appl/abc2024 - 非法过滤示例:
- 含连字符:
/appl/test-01 - 末尾带
/:/appl/test01/ - 同时违规:
/appl/test-01/
- 含连字符:
内容的提问来源于stack exchange,提问作者user2983700
相关产品推荐
相关产品推荐

