正则表达式需求:匹配指定URI(不含后缀),兼容无后缀场景
正则表达式解决方案
- 调整后的正则表达式:
^(.+recordings/.+?)(?:/.*)?$ - 更简洁的正向预查写法:
^(.+recordings/.+)(?=/|$)
规则说明
- 第一种写法:
^和$确保匹配整个URI字符串(.+recordings/.+?)是目标捕获组,?将.+设为非贪婪模式,既能匹配无后缀的完整路径,也能在有后缀时停在第一个斜杠前(?:/.*)?为非捕获可选组,匹配后缀部分(斜杠及后续内容),不干扰目标结果的捕获
- 第二种写法:
- 利用正向预查
(?=/|$),直接匹配到斜杠或字符串结尾,无需额外处理后缀,逻辑更简洁
- 利用正向预查
匹配效果
- 无后缀URI:
https://somewebsite.com/recordings/10680-2162-4cff-991a-446ecff1→ 捕获组结果为该完整URI - 带后缀URI:
https://somewebsite.com/recordings/123/edit→ 捕获组结果为https://somewebsite.com/recordings/123
内容的提问来源于stack exchange,提问作者realraif
相关产品推荐
相关产品推荐

