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