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)
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.
Note: |
|---|
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
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Note: