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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:01:55