Match.NextMatchメソッドは、同じ正規表現が次にマッチする箇所を返すメソッドです。 Regex.Matchメソッドは最初にマッチした箇所に対応するMatchインスタンスを返しますが、NextMatchメソッドを呼び出すとその次にマッチする箇所に対応するMatchインスタンスを返します。
Match.NextMatchメソッドを使って同じ正規表現が次にマッチする箇所を取得する
using System;
using System.Text.RegularExpressions;
class Sample {
static void Main()
{
var text = "The quick brown fox jumps over the lazy dog";
var pattern = @"\w{5,}"; // 5文字以上の単語
// 最初に一致する箇所を取得
var m1 = Regex.Match(text, pattern);
Console.WriteLine(m1.Value);
// 同じ正規表現が次にマッチする箇所を取得
var m2 = m1.NextMatch();
Console.WriteLine(m2.Value);
}
}
実行結果
quick brown
次にマッチする箇所がない場合、NextMatchメソッドはSuccessプロパティがFalse
のMatchインスタンスを返します。