Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何识别正则表达式C#正则表达式组_C#_Regex - Fatal编程技术网

如何识别正则表达式C#正则表达式组

如何识别正则表达式C#正则表达式组,c#,regex,C#,Regex,我有一个正则表达式: @"(?<one>M\/S\s(\w+?\s)+(?<two>(U22334)))" 我的桌面Hero Regex测试仪显示有一个匹配项和四个组,如下所示 1: LIMITED 2: U22334 one: M/S ALPHA DAILY LIVING PRODUCTS INDIA PRIVATE LIMITED U22334 two: U22334 我想知道这些群体是如何确定的。任何帮助都将不胜感激。 组1由(\w+?\s)定义,它只

我有一个正则表达式:

@"(?<one>M\/S\s(\w+?\s)+(?<two>(U22334)))" 
我的桌面Hero Regex测试仪显示有一个匹配项和四个组,如下所示

1: LIMITED

2: U22334

one: M/S ALPHA DAILY LIVING PRODUCTS INDIA PRIVATE LIMITED  U22334

two: U22334
我想知道这些群体是如何确定的。任何帮助都将不胜感激。

  • 组1由
    (\w+?\s)
    定义,它只捕获最后一次迭代
  • 组2由
    (U2234)
  • 命名组
    one
    使用整个正则表达式定义
  • 命名组
    two
    (?(U22334))

有关详细说明,您可以使用例如page(此链接与您的正则表达式模式和测试字符串一起使用)

。NET与其他风格不同,非命名组的编号与命名组的编号是独立的。这就是你要问的吗?我不知道它是不是复制品。这个问题毁了我的两天。这就是我发布这个问题的原因。在某种程度上,Rudis的答案让我很满意,尽管我还没有熟练地通过foreach循环进行迭代。谢谢你,鲁迪斯。因此,在我的例子中,如果我使用foreach循环进行迭代,在我的例子中,它将通过循环四次。我对它通过foreach…loop的迭代感到非常困惑。您可以直接通过名称读取命名组-好的。非常感谢。我会这么做的。在我的问题解决后,我会按照你的建议写下我所做的事情。我会很乐意把我对我的问题的理解作为一个答案发布给那些从正则表达式捕获组开始的人。但是,由于这是标记为重复,我似乎无法做到这一点。
1: LIMITED

2: U22334

one: M/S ALPHA DAILY LIVING PRODUCTS INDIA PRIVATE LIMITED  U22334

two: U22334