c# regex match capture group

在C#中,使用正则表达式可以使用Capture Group(捕获组)来匹配和提取目标字符串中的特定部分。捕获组允许您通过在正则表达式中使用圆括号来分组,然后在匹配后访问这些组。

以下是一个示例,展示如何使用捕获组来匹配和提取目标字符串中的特定部分:

string input = "Hello World!";
Regex regex = new Regex(@"(\w+)\s(\w+)!");
Match match = regex.Match(input);
if (match.Success)
    string firstWord = match.Groups[1].Value;
    string secondWord = match.Groups[2].Value;
    Console.WriteLine("First Word: {0}", firstWord);
    Console.WriteLine("Second Word: {0}", secondWord);

在这个例子中,我们使用正则表达式(\w+)\s(\w+)!来匹配一个以感叹号结尾的两个单词的字符串。这个正则表达式有两个捕获组:第一个捕获组是\w+,用来匹配一个或多个字母数字字符;第二个捕获组是\s,用来匹配一个空格字符;第三个捕获组是\w+,用来匹配另一个单词。

当我们使用regex.Match(input)方法来对输入字符串进行匹配时,如果匹配成功,我们可以通过match.Groups属性来访问捕获组。Groups属性返回一个GroupCollection对象,它包含与正则表达式中的每个捕获组相对应的组。我们可以使用组的索引来访问捕获组的值。在这个例子中,第一个单词的值将保存在组1中,第二个单词的值将保存在组2中。

最后,我们使用Console.WriteLine方法来输出捕获组的值。

希望这个例子能够帮助你理解在C#中使用捕获组进行正则表达式匹配和提取。

  •