gpt4 book ai didi

regex - Nginx 位置正则表达式,是否需要转义正斜杠?

转载 作者:行者123 更新时间:2023-12-04 12:37:29 28 4
gpt4 key购买 nike

Nginx 使用 PCRE 引擎来评估正则表达式,documentation state那个/不使用分隔符,因此我们不必转义正斜杠 /在 URI 中,就像我们在标准正则表达式中所做的那样。一个有效的 nginx 正则表达式示例是 location ~* /myapp/.+\.php$
但是 以下代码正在转义正斜杠
location ~ ^\/(?:index|core\/ajax\/update|ocs\/v2|ocm-provider\/.+)\.php(?:$|\/)
什么\/在这种情况下完全意味着什么,当文档另有说明时为什么需要它?

最佳答案

而 Nginx 不需要转义正斜杠 /它也不否认逃避它,就像我们可以逃避任何其他角色一样。

正则表达式特殊字符的第一个用途 \是为了转义下一个字符,因此 nginx 只是翻译/匹配 \//就像它会翻译/匹配 \j文字 j (这个例子没有任何意义,因为 \j 匹配文字 j )。

在 nginx 上下文中转义正斜杠的目的之一可能是为了代码可移植性。

请注意 \后跟一个字符可能与仅仅转义后跟字符具有不同的含义,完整的列表是 available here

来源:@monkeyzeus 和@richard-smith 评论

关于regex - Nginx 位置正则表达式,是否需要转义正斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59843131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com