Match.Resultメソッドを使ったもうひとつ別の例として、次の例では正規表現にマッチする箇所をすべて取得し、マッチした箇所を強調表示しています。 この例で用いている置換文字列の$`
および$'
は、それぞれマッチした箇所の前と後にある文字列を参照する正規表現要素、$0
は実際にマッチした文字列を参照する正規表現要素です。
Match.Resultメソッドを使って正規表現にマッチする箇所を強調表示する
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{4,}" ' 4文字以上の単語
Console.WriteLine(text)
Console.WriteLine()
For Each m As Match In Regex.Matches(text, pattern)
Console.WriteLine(m.Result("$`<$0>$'"))
' 上記と同じ結果を生成するコード
'Console.WriteLine(text.Substring(0, m.Index) + "<" + m.Value + ">" + text.Substring(m.Index + m.Length))
Next
End Sub
End Class
実行結果
The quick brown fox jumps over the lazy dog The <quick> brown fox jumps over the lazy dog The quick <brown> fox jumps over the lazy dog The quick brown fox <jumps> over the lazy dog The quick brown fox jumps <over> the lazy dog The quick brown fox jumps over the <lazy> dog