Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

Match.NextMatch Method

Returns a new Match object with the results for the next match, starting at the position at which the last match ended (at the character beyond the last matched character).

Namespace:  System.Text.RegularExpressions
Assembly:  System (in System.dll)
public Match NextMatch()

Return Value

Type: System.Text.RegularExpressions.Match
The next regular expression match.

This function is similar to calling Match again and passing (Index+Length) as the new starting position, but it differs from calling Match directly because it handles zero-length match cases in a way that guarantees progress to the end of the string.

NoteNote:

This method does not modify the current instance. Instead, it returns a new Match object that contains information about the next match.

The following example uses the NextMatch method to capture regular expression matches beyond the first.


using System;
using System.Text.RegularExpressions;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string text = "One car red car blue car";
      string pat = @"(\w+)\s+(car)";
      // Compile the regular expression.
      Regex r = new Regex(pat, RegexOptions.IgnoreCase);
      // Match the regular expression pattern against a text string.
      Match m = r.Match(text);
      int matchCount = 0;
      while (m.Success)
      {
         outputBlock.Text += "Match" + (++matchCount) + "\n";
         for (int i = 1; i <= 2; i++)
         {
            Group g = m.Groups[i];
            outputBlock.Text += "Group" + i + "='" + g + "'" + "\n";
            CaptureCollection cc = g.Captures;
            for (int j = 0; j < cc.Count; j++)
            {
               Capture c = cc[j];
               outputBlock.Text += "Capture" + j + "='" + c + "', Position=" + c.Index + "\n";
            }
         }
         m = m.NextMatch();
      }
   }
}
//This example displays the following output:
//       Match1
//       Group1='One'
//       Capture0='One', Position=0
//       Group2='car'
//       Capture0='car', Position=4
//       Match2
//       Group1='red'
//       Capture0='red', Position=8
//       Group2='car'
//       Capture0='car', Position=12
//       Match3
//       Group1='blue'
//       Capture0='blue', Position=16
//       Group2='car'
//       Capture0='car', Position=21


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.