如何编写可匹配多个带请求类型URL的正则表达式
你之前的正则仅覆盖了admin、read两个GET接口的匹配规则,没有补充customer相关路径的匹配逻辑,所以无法匹配后三个端点。
严格匹配所有示例端点的正则(适配你给出的5个场景,限制接口对应请求方法)
^(GET:\/shop\/australia\/sydney\/(admin|read)(\/)?|(GET|PATCH|DEL):\/shop\/australia\/sydney\/customer\/\d+(\/)?)$
规则说明:
^、$限定字符串完全匹配,避免误匹配包含目标路径的更长非法字符串- 前半段匹配仅支持GET请求的
admin、read接口,公共路径复用分组,无需重复编写 - 后半段匹配支持GET、PATCH、DEL三种请求的customer接口,
\d+匹配任意长度的数字用户ID,同时保留可选的结尾斜杠适配不同场景
精简通用版本(不需要严格限制接口对应请求方法时使用)
如果后续可能新增其他方法适配,可提取公共前缀进一步简化:
^(GET|PATCH|DEL):\/shop\/australia\/sydney\/(admin|read|customer\/\d+)(\/)?$
内容的提问来源于stack exchange,提问作者Kun Chun
相关产品推荐
相关产品推荐

