正则表达式和尖括号

时间:2018-07-12 19:09:35

标签: regex nginx

我在nginx上具有以下正则表达式:

^(?<subdomain>.+)\.test\.com$

如果括号用于分组,那么它如何与“ something.test.com”或“ foobar.test.com”匹配? 我原本希望只匹配“子域”一词。我想我不理解?和<>符号。另外,我看不到..的结尾。

1 个答案:

答案 0 :(得分:1)

(?<name>.+)是一个命名的捕获组。该组中唯一的模式部分是.+

使用命名捕获组的好处是您可以通过名称而不是数字来引用它们,因此在这种情况下,可以使用子域捕获组来引用“某物”或“ foobar”。

最后的.+意味着匹配任何字符中的一个或多个 换行符。

This should help you visualize it better