nginx位置的前瞻性正则表达式

Moo*_*oon 10 regex nginx lookahead

我正在尝试匹配/类别/任何东西,除了/ category/pay在nginx位置.

我有以下正则表达式,但它不起作用.谷歌告诉我,我可以在nginx中使用lookahead.难道我做错了什么?

location ^/category(?!/paid)/ {

}
Run Code Online (Sandbox Code Playgroud)

hwn*_*wnd 8

您需要在它之前使用斜杠或转义斜杠.

location ~ (category/(?!paid)) { .. }
location ~ (category\/(?!paid)) { .. }
Run Code Online (Sandbox Code Playgroud)

  • 我不明白`^/category(?!/ paid)/`和`(category /(?!paid))`之间的区别是什么?两者应该是等价的并且适用于示例(匹配/类别/任何东西,除了/ category /支付).我在那里错过了什么? (3认同)