【问题标题】:Regex grouping only returning one group正则表达式分组只返回一组
【发布时间】:2015-02-10 04:05:49
【问题描述】:

我有以下文本,我需要正则表达式来返回多个组,而不仅仅是第一个匹配...我尝试过的一切总是只返回第一个组...

\[\s*(?<g1>(?i:Critical|Urgent)):\s*(?<g2>.+)\]

例子:

lorem ipsum [Urgent: do something] lorem ipsum [Critical: do something else] lorem ipsum

理想情况下,g1 将包含 ['Urgent','Critical'],而 g2 将包含 ['do something','do something else']

【问题讨论】:

    标签: javascript c# regex


    【解决方案1】:

    This regex 将有两个匹配项,每个匹配两个组。

    \[(Critical|Urgent):\s?(.*?)\]

    使用http://regexr.com/,您可以在线测试正则表达式。这对于了解它们为什么不起作用非常有用,因为您可以将光标放在正则表达式的每个部分上,然后查看它的作用。

    【讨论】:

      猜你喜欢
      • 2023-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      相关资源
      最近更新 更多