`
mingren135
  • 浏览: 69202 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

nginx学习3-正则

 
阅读更多

^~     标识符后面跟一个字符串。Nginx将在这个字符串匹配后停止进行正则表达式的匹配(location指令中正则表达式的匹配的结果优先使用),如:location ^~ /images/,你希望对/images/这个目录进行一些特别的操作,如增加expires头,防盗链等,但是你又想把除了这个目录的图片外的所有图片只进行增加expires头的操作,这个操作可能会用到另外一个location,例如:location ~* \.(gif|jpg|jpeg)$,这样,如果有请求/images/1.jpg,nginx如何决定去进行哪个location中的操作呢?结果取决于标识符^~,如果你这样写:location /images/,这样nginx会将1.jpg匹配到location ~* \.(gif|jpg|jpeg)$这个location中,这并不是你需要的结果,而增加了^~这个标识符后,它在匹配了/images/这个字符串后就停止搜索其它带正则的location。
=      表示精确的查找地址,如location = /它只会匹配uri为/的请求,如果请求为/index.html,将查找另外的location,而不会匹配这个,当然可以写两个location,location = /和location /,这样/index.html将匹配到后者,如果你的站点对/的请求量较大,可以使用这个方法来加快请求的响应速度。

@      表示为一个location进行命名,即自定义一个location,这个location不能被外界所访问,只能用于Nginx产生的子请求,主要为error_page和try_files。

~      为区分大小写的匹配。
~*     不区分大小写的匹配(匹配firefox的正则同时匹配FireFox)。
!~     不匹配的
!~*    不匹配的

.     匹配除换行符以外的任意字符
\w     匹配字母或数字或下划线或汉字
\s     匹配任意的空白符
\d     匹配数字
\b     匹配单词的开始或结束
^     匹配字符串的开始
$     匹配字符串的结束

*     重复零次或更多次
+     重复一次或更多次
?     重复零次或一次
{n}     重复n次
{n,}     重复n次或更多次
{n,m}     重复n到m次
*?     重复任意次,但尽可能少重复
+?     重复1次或更多次,但尽可能少重复
??     重复0次或1次,但尽可能少重复
{n,m}?     重复n到m次,但尽可能少重复
{n,}?     重复n次以上,但尽可能少重复

\W     匹配任意不是字母,数字,下划线,汉字的字符
\S     匹配任意不是空白符的字符
\D     匹配任意非数字的字符
\B     匹配不是单词开头或结束的位置
[^x]     匹配除了x以外的任意字符
[^aeiou]     匹配除了aeiou这几个字母以外的任意字符

捕获     (exp)     匹配exp,并捕获文本到自动命名的组里
(?<name>exp)     匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
(?:exp)     匹配exp,不捕获匹配的文本,也不给此分组分配组号
零宽断言     (?=exp)     匹配exp前面的位置
(?<=exp)     匹配exp后面的位置
(?!exp)     匹配后面跟的不是exp的位置
(?<!exp)     匹配前面不是exp的位置
注释     (?#comment)     这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读

分享到:
评论

相关推荐

    如何利用nginx通过正则拦截指定url请求详解

    主要介绍了如何利用nginx通过正则拦截指定url请求的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Nginx正则表达式相关的参数和规则介绍

    主要给大家介绍了关于Nginx正则表达式相关的参数和规则的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx正则表达式具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    nginx用正则表达式实现泛域名自动匹配目录的方法

    主要介绍了nginx用正则表达式实现泛域名自动匹配目录的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    nginx-tutorial:Nginx安装维护入门学习笔记,以及各种实例

    所以关于 Nginx,有这些标签:「异步」「事件」「模块化」「高性能」「高并发」「反向代理」「负载均衡」Linux系统:Centos 7 x64Nginx版本:1.11.5目录配置常用正则全局变量符号参考配置文件内置预定义变量反向代理...

    Nginx rewrite正则匹配重写的方法示例

    主要介绍了Nginx rewrite正则匹配重写的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    正则表达式详讲

    java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&gt;项目讲解---&gt;Mybatis框架----&gt;spring框架----&gt...

    jQuery+Ajax+三层模型详讲[Java]

    java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&gt;项目讲解---&gt;Mybatis框架----&gt;spring框架----&gt...

    EasyUI框架详讲[jQuery]

    java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&gt;项目讲解---&gt;Mybatis框架----&gt;spring框架----&gt...

    Java项目电商秒杀[Redis+RabbitMQ+JMeter]

    java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&gt;项目讲解---&gt;Mybatis框架----&gt;spring框架----&gt...

    SVN和GIT详讲视频

    java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&gt;项目讲解---&gt;Mybatis框架----&gt;spring框架----&gt...

    SpringMVC+Spring+Mybatis三大框架综合练习[MySQL/AJAX/IDEA]

    java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&gt;项目讲解---&gt;Mybatis框架----&gt;spring框架----&gt...

    SpringBoot详讲

    java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&gt;项目讲解---&gt;Mybatis框架----&gt;spring框架----&gt...

    JAVA面试题[秒杀/Redis/MongoDB/SpringBoot/SpringCloud]

    我所有课程的学习主线为:java基础---&gt;面向对象---&gt;java高级部分(集合、多线程、正则表达式等)---&gt;html5+css3---&gt;javascript---&gt;jquery---&gt;mysql数据库---&gt;jsp/servlet---&gt;oracle数据库---&...

    利用Nginx的map指令实现页面跳转

    本文主要介绍了利用Nginx中map指令实现页面跳转的方法,有需要的下面来一起学习学习。 实现方法 在 nginx.conf 的 http 域中添加 map 指令规则,这里包含一个 URL 规则映射文件: # 设置301跳转 map $request_uri $...

    可用于不同的内容关键词,如网页布局、代码编辑、图像处理、网站优化等 该工具箱资源的主要用途是帮助开发人员提高工作效率和代码质量

    **其他说明:** 该资源包含了多个知识领域、技术关键词和内容关键词相关的在线工具,具体包括但不限于 Git 中文教程、Nginx 中文文档、正则表达式在线可视化调试工具等。工具箱中的在线工具都支持跨平台使用,用户...

    简单了解Nginx七层负载均衡的几种调度算法

    这篇文章主要介绍了简单了解Nginx七层负载均衡的几种调度算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Nginx是一款轻量级的高性能web服务器,同时也是一...

    Nginx配置指令location匹配符优先级和安全问题

    空匹配符空匹配符的特点是:匹配以指定模式开始的 URI不支持正则表达式3.正则匹配符:~正则匹配符是可以使用正则表达式的匹配符。不过这里要强调的是,一般来说~是指:区分大小写的正则匹配而~*表示:不区分大小写的...

    纳克西:NAXSI是NGINX的开源,高性能,低规则维护WAF

    管理员可以通过分析nginx的错误日志来手动添加白名单,也可以(建议)从密集的自动学习阶段开始该项目,该阶段将自动生成有关网站行为的白名单规则。 简而言之,Naxsi的行为就像默认的DROP防火墙一样,唯一的任务...

    apiapp:在阿里云上部署express项目练习

    学习计划三:1学习JavaScript设计模式2进一步学习CSS基础知识3学习正则表达式4学习React,Vue,Angular和深度相关原理部分5学习基础前端组件开发流程和规范,并在GitHub上提交一个开源项目6复习HTTP,Git等基础知识 ...

    leetcode中国-Front-End-Develop-Resource:前端资源整合(学习与分享)

    Nginx Git VPN 浏览器相关 性能优化 数据可视化 网络安全 兼容性 移动端调试 开发工具 客户端 设计模式 函数式编程 正则表达式 可持续集成部署 代码规范 全栈成长指南 人工智能 推荐的学习博客或者平台 Personal ...

Global site tag (gtag.js) - Google Analytics