代码之家  ›  专栏  ›  技术社区  ›  Simon Ernesto Cardenas Zarate

正则表达式和尖括号

  •  0
  • Simon Ernesto Cardenas Zarate  · 技术社区  · 6 年前

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

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

    如果括号是组的,那么它如何匹配“something.test.com”或“foobar.test.com”? 我本来想匹配一些只有“子域”这个词的东西。我想我不明白?以及<gt;符号。另外,我看不到结尾的.+的用法。

    1 回复  |  直到 6 年前
        1
  •  1
  •   emsimpson92    6 年前

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

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

    这个 + 在结尾只意味着匹配一个或多个任何字符 除了 换行符。

    This should help you visualize it better