匹配 url 的正则表达式否定前瞻

Regex negative lookahead to match url

我正在尝试匹配网址 /api/v1/users... /api/v1/other_stuff...

除了 /api/v1/users/invitation_register

我一直在尝试使用负面回顾

^\/api.*(?<!\binvitation_register\b)

和几个类似的结构,但不知道如何实际执行此操作。 欢迎任何帮助。

您可以使用这种否定的先行而不是后行:

^\/api\/(?!v1\/users\/invitation_register\b).*

(?!v1\/users\/invitation_register\b) 是一个 负前瞻 ,断言 v1/users/invitation_register/api/ 之后失败。

RegEx Demo

如果您的预期匹配始终以 /api/v1/... 开头,那么您可以使用:

^\/api\/v1\/(?!users\/invitation_register\b).*

断言 users/invitation_register/api/va/ 之后失败。