如何用正则表达式精准匹配含单个ID的指定URL路径
匹配指定URL的正则表达式方案
你可以使用以下正则表达式来满足需求:
^/products/[^/]+/items$
正则说明:
^:锚定字符串起始位置,确保匹配从URL开头开始/products/:匹配固定的路径前缀[^/]+:匹配产品ID部分,[^/]表示匹配除斜杠外的任意字符,+表示至少匹配一个字符,既可以精准捕获产品ID,又能避免匹配到后续路径段(比如第二个URL中的/cart)/items$:匹配结尾的/items,$锚定字符串结束位置,确保items是路径的最后一段,不会有后续内容
测试验证:
- 对于URL
/products/e2e-test-products-2022-08-17T18-30-49-882Z:7ebee29f-dde2-4446-b2b1-327c15fbbabb/items,正则完全匹配,返回true - 对于URL
/products/e2e-test-products-2022-08-17T18-30-49-882Z:7ebee29f-dde2-4446-b2b1-327c15fbbabb/cart/items,产品ID后出现/cart,不满足/items$的结尾要求,返回false
如果需要兼容末尾带斜杠的URL(比如/.../items/),可以调整正则为:
^/products/[^/]+/items/?$
其中/?表示末尾的斜杠为可选匹配。
内容的提问来源于stack exchange,提问作者user4900074
相关产品推荐
相关产品推荐

