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

求匹配URI自定义参数的正则表达式(禁止连续冒号)

解决URL路径匹配的正则表达式问题

符合需求的正则表达式

^(?:[a-zA-Z0-9_/]|:(?!:))*$

正则规则解释

  • ^ 和 $:锚定字符串首尾,确保整个输入完全符合规则,避免部分匹配的漏判
  • (?: ... )*:非捕获分组,允许内部规则重复0次或多次,支持空字符串的场景
  • [a-zA-Z0-9_/]:直接匹配允许的基础字符:大小写字母、数字、下划线、斜杠
  • :(?!:):匹配单个冒号,通过负向预查确保冒号后不会紧跟另一个冒号,彻底禁止连续冒号的非法格式

测试用例匹配验证

你给出的所有测试字符串都能被正确匹配:

  • 空字符串
  • /
  • :id
  • /:id
  • /:id/
  • person/:name/:id/:token_person2/image
  • person////
  • ////

非法输入拦截示例

所有包含连续冒号的输入都会被拒绝,比如:

  • :::id
  • user::profile
  • :/::path

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:30:50