麻烦大佬帮我看个正则表达式,半天没研究懂。。

2020-12-19 00:49:16 +08:00
 mlgm2020
(?<subdomain>.*)xxx\.com$

这是 nginx 的域名配置,可以匹配 xxx.com 还有 *.xxx.com; 并且 subdomain 可以当做变量使用。

(?<subdomain>.*) 这一块对着正则表达式文档看了半天也没搞清楚。。
<>尖括号里面的是变量名吗? 好像也没找到这个语法啊
? 问号不是匹配之前的表达式吗? 这个?前面没有其他表达式吧。。
反正现在是一脸懵逼,完全看不懂了
1181 次点击
所在节点    问与答
5 条回复
flavoury
2020-12-19 01:03:27 +08:00
?<subdomain>
这个是正则的分组,给你贴个 regex101 的结果:
Named Capture Group subdomain (?<subdomain>.*)
意思是如果这个分组匹配了,那这个分组取名叫做 subdomain
正常我们使用正则匹配分组都是叫 1,2,其实也可以自己给它命名,这就是命名方式
liukrystal
2020-12-19 01:06:10 +08:00
LS 表述正确,这是正则表达式分组,可以用 groupdict 提取分组字典
mlgm2020
2020-12-19 01:32:17 +08:00
@flavoury 多谢大佬,搜索“正则分组”找到相关内容了,之前看的文档不全。。。
具名组匹配允许为每一个组匹配指定一个名字。
具名组匹配”在圆括号内部,模式的头部添加“问号 + 尖括号 + 组名”(?<year>),然后就可以在 exec 方法返回结果的 groups 属性上引用该组名。
kidlj
2020-12-19 01:40:39 +08:00
$ man 3 pcresyntax
mauve
2020-12-19 11:23:00 +08:00
https://www.runoob.com/regexp/regexp-syntax.html
晦涩难懂我还是看菜鸟教程吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/736944

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX