Ngnix的server_name正则匹配执行顺序

createh52个月前 (05-07)技术教程17

在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

相关文章

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

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

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

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

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

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

正则表达式匹配英文字符(正则表达式 英文字符)

正则表达式匹配英文 20 个字符,包括大写,小写。根据搜索结果,看到 honeymoose 分享过一个正则表达式的要求是:匹配 20 个英文字符(大写、小写都包括)。那么这个正则表达式可以写成:^[a...

正则表达式(Regex)在线调试工具-Regex101

前言在字符串查找处理程序中,正则表达式是一个不可忽略的处理方式。我们能够利用正则表达式轻松地做到检索、替换那些符合某个模(规则)的字符串。正则表达式有着很强的灵活性、逻辑性及功能性, 可以迅速地用极简...

「正则表达式」 匹配分组(正则表达式分组详解)

1. 匹配分组相关正则表达式代码功能|匹配左右任意一个表达式(ab)将括号中字符作为一个分组\num引用分组num匹配到的字符串(?P)分组起别名(?P=name)引用别名为name分组匹配到的字符串...