Cypress测试中匹配特定URL端点的正则表达式编写求助
Cypress请求拦截正则方案
匹配请求1(/api/{randomId})但排除请求2的正则
用精准锚定首尾+限定路径段的写法,确保/api/后的随机ID是路径最后一段:
^/api/[^/]+$
^锚定字符串开头,避免匹配带其他前缀的路径[^/]+匹配任意非斜杠字符(即你的randomId),确保不会包含后续的/approval路径段$锚定字符串结尾,保证路径到randomId就结束,没有后续内容
匹配请求2(/api/{randomId}/approval)但排除请求1的正则
可以把你原来的写法优化得更严谨,避免匹配多余的后续路径:
^/api/[^/]+/approval$
- 用
^和$锚定首尾,确保路径正好是/api/xxx/approval格式 [^/]+精准匹配randomId部分,避免误匹配多层嵌套的路径
为什么之前的写法会同时匹配两个请求
你之前用的.+/api/.+中,.会匹配任意字符(包括斜杠)且是贪婪模式,所以会把/api/xxx/approval整个路径都包含进去,自然会同时匹配两个请求。用[^/]+限定randomId的范围,再加上首尾锚点,就能精准区分两个路径。
内容的提问来源于stack exchange,提问作者pjlamb12
相关产品推荐
相关产品推荐

