nginx local perl正则表达式

本文介绍Perl中的常用正则表达式符号及其用法,并解析Nginx中的location匹配规则,帮助读者掌握这两种技术的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

perl正则:

\d — 匹配数字(字符组合[0-9])。

.\D — 匹配非数(字符组合[^0-9])。

.\w — 匹配单词字符(字符组合[a-zA-Z0-9_])(这里下划线算作一个单词字符)。

.\W — 匹配非单词字符(字符组合[^a-zA-Z0-9_])。

.\s — 匹配空格字符(字符组合[\t\n])(制表符、换行符、空格)。

.\S — 匹配非空格字符(字符组合[\t\n])。

.- 匹配任意字符(在某些情况下)换行符除外(字符组合[^\n])、当输入m"(.*)"S时匹配任意字符。参见本章后面的修饰符。

.$- 尽管它实际上并不是一个通配符(它不匹配任何具体字符).但它是广泛使用的特殊字符;如果将其放在正则表达式的尾部则它匹配“行尾”。零宽度断言。

.^- 尽管实际上不是一个通配符,但如果它位于正则表达式的开头则它是匹配“行首”的特殊字符。零宽度断言。

.\b,\B- 与$和^相同;不匹配字符,但匹配单词边界(\b)或匹配无单周边(\B)。零宽度断言。

PerI的六个多重匹配运算符是:

·*——匹配零次,一次或多次。 ·?——匹配一次或者多次。

·?——匹配零次或者一次。

·{X}——匹配‘X’次。

·{X,}——匹配‘X’或者更多次。

·{X,Y}——匹配‘X’到‘Y’次。

nginx

语法规则: location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。

~ 开头表示区分大小写的正则匹配

~* 开头表示不区分大小写的正则匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

多个location配置的情况下匹配顺序为(参考资料而来,还未实际验证,试试就知道了,不必拘泥,仅供参考):

首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值