首页 > 系统相关 >Nginx的正则表达式

Nginx的正则表达式

时间:2023-05-16 19:11:20浏览次数:38  
标签:匹配 正则表达式 Nginx location exp images 任意 重复

  1. ^~     标识符后面跟一个字符串。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。
  2.   =      表示精确的查找地址,如location = /它只会匹配uri为/的请求,如果请求为/index.html,将查找另外的location,而不会匹配这个,当然可以写两个location,location = /和location /,这样/index.html将匹配到后者,如果你的站点对/的请求量较大,可以使用这个方法来加快请求的响应速度。
  3.    
  4.   @      表示为一个location进行命名,即自定义一个location,这个location不能被外界所访问,只能用于Nginx产生的子请求,主要为error_page和try_files。
  5.    
  6.   ~      为区分大小写的匹配。
  7.   ~*     不区分大小写的匹配(匹配firefox的正则同时匹配FireFox)。
  8.   !~     不匹配的
  9.   !~*    不匹配的
  10.    
  11.   .     匹配除换行符以外的任意字符
  12.   \w     匹配字母或数字或下划线或汉字
  13.   \s     匹配任意的空白符
  14.   \d     匹配数字
  15.   \b     匹配单词的开始或结束
  16.   ^     匹配字符串的开始
  17.   $     匹配字符串的结束
  18.    
  19.   *     重复零次或更多次
  20.   +     重复一次或更多次
  21.   ?     重复零次或一次
  22.   {n}     重复n次
  23.   {n,}     重复n次或更多次
  24.   {n,m}     重复n到m次
  25.   *?     重复任意次,但尽可能少重复
  26.   +?     重复1次或更多次,但尽可能少重复
  27.   ??     重复0次或1次,但尽可能少重复
  28.   {n,m}?     重复n到m次,但尽可能少重复
  29.   {n,}?     重复n次以上,但尽可能少重复
  30.    
  31.   \W     匹配任意不是字母,数字,下划线,汉字的字符
  32.   \S     匹配任意不是空白符的字符
  33.   \D     匹配任意非数字的字符
  34.   \B     匹配不是单词开头或结束的位置
  35.   [^x]     匹配除了x以外的任意字符
  36.   [^aeiou]     匹配除了aeiou这几个字母以外的任意字符
  37.    
  38.   捕获     (exp)     匹配exp,并捕获文本到自动命名的组里
  39.   (?<name>exp)     匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
  40.   (?:exp)     匹配exp,不捕获匹配的文本,也不给此分组分配组号
  41.   零宽断言     (?=exp)     匹配exp前面的位置
  42.   (?<=exp)     匹配exp后面的位置
  43.   (?!exp)     匹配后面跟的不是exp的位置
  44.   (?<!exp)     匹配前面不是exp的位置 https://blog.csdn.net/qq_41154871/article/details/90675877

标签:匹配,正则表达式,Nginx,location,exp,images,任意,重复
From: https://www.cnblogs.com/gaoyanbing/p/17406550.html

相关文章

  • 服务器 nginx 前端配置 SSL 证书并能访问 HTTPS
    安装以下步骤,按图索骥即可。 首先,没安装nginx的去这个地址,安装nginx。本人版本是(1.18.0).https://nginx.org/安装好了之后,在nginx目录下执行cmd运行命令nginx.exe-V出现以下情况就证明nginx自带了SSL模块了,不需要额外安装 有了上面这个东西之后,nginx底下......
  • Nginx第二讲.反向代理
    原文:https://baijiahao.baidu.com/s?id=1710476405671526313&wfr=spider&for=pc学习nginx反向代理的功能及使用方法前,先要了解什么是正向代理和反向代理,以及他们的作用,这对于接下来学习负载均衡十分必要。  一、正向代理与反向代理  1.代理服务器  代理服务......
  • 5、Nginx 常见模块 auth_basic:实现账户认证功能
    Nginx账户认证功能由ngx_http_auth_basic_module模块提供此功能官方帮助:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html语法格式:Syntax: auth_basic_user_filefile;Default: —Context: http,server,location,limit_except范例:authbasic提......
  • Nginx编译安装
    1.进入安装目录:#cd/usr/local/src2、下载nginx源码文件nginx网址:http://nginx.org/en/download.html 3、复制文件下载地址:http://nginx.org/download/nginx-1.22.1.tar.gz4、开始下载:#wget http://nginx.org/download/nginx-1.22.1.tar.gz 5、解压#tar-zxvf nginx......
  • 正则表达式 基础
    Tips:字符串方法match()返回根据正则表达式匹配到的结果1.常用符号/链接标志1.1开头结尾标志^以...开头$以...结尾constreg1=/^\d///以数字开头constreg2=/^[a-z]///以小写字母开头constreg3=/\d$///以数字结尾constreg4=/[a-z]$///以小写字母......
  • nacos 使用nginx做负载均衡
    nacos要使用nginx做负载均衡需要使用到stream模块,如果编译nginx的时候没有添加stream模块的,建议重新编译(否则改一个出现N个错误)编译命令:./configure--prefix=/usr/local/nginx--with-streamnginx.conf配置:stream与http同级  upstream与http下的server同级 ......
  • nginx 正则路径匹配
    Nginx路径匹配符号=表示精确匹配^~表示uri以某个常规字符串开头,大多情况下用来匹配url路径,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~/static//aa匹配到(注意是空格)。~正则匹配(区分大小写)~*正则匹配(不区分大小写)!~区分大小写不匹配!~*不区分大小写不匹......
  • nginx反向代理与负载均衡
    什么是正向代理和反向代理正向代理:客户端与服务端之间再架设一台服务器,客户端先访问的是这台中间架设的服务器,再由中间这台服务器给目标服务器,发送请求.客户端设置一个代理ip,服务器不清楚是客户本机发送还是代理服务器发送正向代理是一个客户端和原始服务器之间的服务......
  • LINUX下用YUM安装nginx出现No package nginx available.的问题与解决方案
    1.备份CentOS-Base.repomv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak2.下载新的CentOS-Base.repo到/etc/yum.repos.d/wget-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo3.把服务器的包信息下载到本......
  • 正则表达式,re模块
    正则表达式,一种独立的规则和语言,主要和字符串打交道爬虫,从一大段文字中获取符合条件的内容表单验证,检测一个字符串是否完全符合规则,先通过正则去判断是否符合规则,符合规则再去请求字符组匹配所有数字[0-9]匹配所有小写字母[a-z]匹配所有大写字母[A-Z]匹配所有......