nginx正则表达式快捷测试方法
之前在配置时都是本地起一个nginx服务,修改location
规则,然后nginx -s reload
或则 service nginx reload
不断尝试来判断是否符合预期。显而易见,效率极低。使用一些在线正则表达式测试(e.g. 在线工具)又因为使用的库不同,多少存在差异。
正则表达式有不同的规则引擎,具体参见 wikipedia的 Comparison of regular expression engines
nginx使用的是PCRE
截取nginx官方文档 Building nginx from Sources
--with-pcre=path — sets the path to the sources of the PCRE library. The library distribution (version 4.4 — 8.40) needs to be downloaded from the PCRE site and extracted. The rest is done by nginx’s ./configure and make. The library is required for regular expressions support in the location directive and for the ngx_http_rewrite_module module.
建议使用linux下的 grep
工具
windows可以使用cygwin 或者git for windows中的git-bash.exe
$ grep --help# ...Regexp selection and interpretation:-E, --extended-regexp PATTERN is an extended regular expression (ERE)-F, --fixed-strings PATTERN is a set of newline-separated strings-G, --basic-regexp PATTERN is a basic regular expression (BRE)-P, --perl-regexp PATTERN is a Perl regular expression-e, --regexp=PATTERN use PATTERN for matching-f, --file=FILE obtain PATTERN from FILE-i, --ignore-case ignore case distinctions-w, --word-regexp force PATTERN to match only whole words-x, --line-regexp force PATTERN to match only whole lines-z, --null-data a data line ends in 0 byte, not newline# ...复制代码
使用 grep -P
命令即可
$ echo 'a.gif' | grep -P '\.(jp?g|gif|bmp|png)'#输出
a.gif复制代码
如果只想输出匹配部分,则加上-o
参数
$ echo 'a.gif' | grep -P -o '\.(jp?g|gif|bmp|png)'#输出
.gif复制代码
具体 perl 正则表达式语法,可参考
Perl regular expressions man page
汤姆的猫-Perl入门(四)Perl的正则表达式
博客 anjia.ml/2017/06/29/…
简书 www.jianshu.com/p/17eb0ba22…
掘金 juejin.im/post/5954ad…
nginx正则表达式快捷测试方法相关推荐
- Nginx正则表达式之匹配操作符详解
2019独角兽企业重金招聘Python工程师标准>>> Nginx正则表达式之匹配操作符详解 nginx可以在配置文件中对某些内置变量进行判断,从而实现某些功能.例如:防止rewri ...
- Nginx正则表达式locationrewrite
Nginx正则表达式&&location&&rewrite 前言 一.Nginx中的正则表达式 1.1 常用的Nginx 正则表达式 二.访问路由location 2. ...
- Nginx正则表达式与location匹配简介
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.nginx rewrite概述 1.概述 2. 跳转场景 3. 跳转实现 4. rewrite实际场景 二.nginx ...
- nginx 学习笔记--Nginx正则表达式之匹配操作符
nginx可以在配置文件中对连接进行判断,已达到防止rewrite.盗链.对静态资源设置缓存以及浏览器限制等目的: 字符串表达式支持正则表达式,能设定大小写是否敏感. 1.~为区分大小写的匹配. 2. ...
- nginx正则表达式
location = / { # 只匹配"/". [ configuration A ] } location / { # 匹配任何请求,因为所有请求都是以"/" ...
- Nginx之正则表达式、location匹配简介以及rewrite重写
目录 一.Nginx 正则表达式 二.location 匹配简介 1.匹配规则格式 ①.精准匹配 ②.一般匹配 ③.正则匹配 2.常用的匹配规则 3.匹配的优先级 4.示例 5.实际网站使用中,至少有 ...
- Nginx Rewrite +正则表达式
目录 前言 一.Nginx Rewrite概述 1. Rewrite 跳转场景 2. Rewrite 跳转实现 3. Rewrite 实际场景 二.Nginx 正则表达式 1. 常见的正则表达式元字符 ...
- Nginx Rewrite 正则表达式
文章目录 前言 一.Nginx Rewrite概述 1.Rewrite 场景 2.Rewrite 实现 3. Rewrite 实际场景 3.1 Nginx 跳转需求的实现方式 3.2 rewrite ...
- 第二章 OpenResty(Nginx+Lua)开发入门
Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动.关闭.重启 http://www.cnblogs.com/derekchen/archi ...
最新文章
- 用 PHP 调用 MySQL 存储过程
- OCS 企业版图解详细部署
- 功能测试话题分享-0323
- nginx-rtmp message
- powerdesigner奇淫技
- Leetcode1143. 最长公共子序列(c#)
- 2018年Java展望
- azure云数据库_在Azure SQL数据库中配置电子邮件通知
- 我在阿里云玩蟹科技分享篇
- 初识iptables规则
- 删除专利模板文件的最后一页(WPS亲测可用)
- 大学加权平均分计算器_澳大利亚移民宝藏专业----西澳大学幼教硕士解析
- VBA 对 range() 或 cells() 的内容格式的修改, 如 range.address(0,0) cells().formulaR1C1
- 数据科学家:大器晚成,是软件工程师成功的唯一捷径
- Android 高级开发 JNI NDK 介绍与使用
- python之excel处理画图
- 618有哪些数码产品值得入手?盘点值得入的数码好物推荐
- linux 文件夹 775,linux - 如何为文件夹及其所有子文件夹和文件设置chmod?
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 待补
- 国际会议及期刊星级说明
热门文章
- P2905 [USACO08OPEN]农场危机Crisis on the Farm-dp
- 电商平台数据查询工具(京东数据分析软件)
- 原型设计工具——“墨刀”的介绍与基本教程
- 编程求一个9位的整数,数字由1-9构成,每个数字只能出现一次。并且这个整数的前一位能被1整除,前两位能被2整除, ......以此类推,前九位能被9整除。
- [0CTF 2016]piapiapia php反序列化字符串逃逸
- Sitecore学习总结(1)
- 【正点原子MP157连载】第二十三章 Linux设备树-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- C#控件篇 - 图表控件chart - 添加辅助边界线条
- Chapter 5 (Eigenvalues and Eigenvectors): The characteristic equation (特征方程)
- php搭建markdown云笔记_Typora+坚果云:支持markdown的云笔记搭建