Ngnix的server_name正则匹配执行顺序

createh53周前 (05-07)技术教程5

在Ngnix中可以使用正则表达式进行匹配,[xyz]的意思是可以匹配任何字符串,\w的含义相当于与以下任意字符匹配 A-Z a-z 0-9 和下划线,等效于[A-Za-z0 9_],使用^匹配匹配搜索字符串开始位置,\的意义是可以标记特殊字符,例如.这个特殊字符,

简单讲一下,下面的配置

server{
 listen 9090;
 server_name ~^www\.(\w+)\.com$;
 default_type text/plain;
 return 200 $1  $2 ..;
 }

这一行配置的含义是 ~(波浪线标识是一个正则表达式),^(开始的意思),上面的句子是开始,开始要有三个www,\.转义就是一个. (\w+)代表的是一个数字,+号代表一次或者多次 \.还是.的意思,最后以com$作为结尾

下面就是Ngnix的一个server_name的配置资料

现在只要匹配带3个w,中间是英文和数字,最后结尾是com的都能访问到,之前在hosts中有相关的配置资料

需要注意的是在配置server_name的时候,~(代表使用正则的意思),后面不能加空格,否则会出现报错的情况

可以做一个简单的配置,使用return返回一个表达式,这里使用return返回时,要先设置 default_type text/plain; 否则会以流的形式通过,不显示

$1最后将会显示itheima

$1最后拿到值itheima,与(\w+)里的内容相同,这里的$1是获取第一个括号值的意思,也可以获取第二个括号的值 $2

相关文章

深入解析MySQL:查询的正则匹配(深入解析mysql:查询的正则匹配是什么)

概述上一章 查询的过滤条件,我们了解了MySQL可以通过 like % 通配符来进行模糊匹配。同样的,它也支持其他正则表达式的匹配,我们在MySQL中使用 REGEXP 操作符来进行正则表达式匹配。用...

Java性能调优--代码篇:优化正则表达式的匹配效率

作者 | 浩说编程来源 | 公众号:浩说编程[ 大厂技术资源 | 研发必备安装包 | 限时免费获取 ] 在我们的日常业务开发中经常会涉及到使用正则表达式对数据进行处理,比如String的Split()...

如何正则匹配乱码?(正则匹配 ?)

曾经护网的时候,遇到过要写一个正则,匹配文本中包含乱码,当时精神状态比较紧张,没有写出来,事后感觉非常尴尬,不过现在已经释然了,趁着周末休息的时候,简单研究了一下,以防未来还会遇到同样的问题,测试样例...

爬虫必备!正则匹配全攻略(正则匹配?!)

在网络爬虫中,正则表达式是一项非常重要的技能。它可以帮助我们快速准确地从网页中提取出我们所需要的信息。本文将为大家详细介绍如何使用正则表达式匹配所有内容。一、理解正则表达式基础知识正则表达式是一种描述...

「正则表达式」 一、正则表达式字符匹配(前端必懂 )

原书这么一句话,特别棒:正则表达式是匹配模式,要么匹配字符,要么匹配位置,要记住。1. 两种模糊匹配正则表达式的强大在于它的模糊匹配,这里介绍两个方向上的“模糊”:横向模糊和纵向模糊。横向模糊匹配即一...

技术趣讲 |「正则」王国奇遇记(正则设计)

第一回 初来乍到NPC: "欢迎来到正则表达式的国度,勇士!这里的每一个人都使用正则表达式,我是这里的 NPC,每一个来到这里的人都将由我代为介绍正则世界的规则,至于能领悟到何种境界,就看你的...