次の例で使用している正規表現(\p{Ll}|\p{Lu})+|\p{IsHiragana}+|\p{IsKatakana}+|\p{IsCJKUnifiedIdeographs}+
は、アルファベット・ひらがな・カタカナ・漢字が連続する箇所にマッチします。 この正規表現は、小文字または大文字の連続((\p{Ll}|\p{Lu})+
)、ひらがなの連続(\p{IsHiragana}+
)、カタカナの連続(\p{IsKatakana}+
)、漢字の連続(\p{IsCJKUnifiedIdeographs}+
)のいずれかにマッチします。
正規表現を使って文字列を同じ種類の文字ごとに区切って表示する
Imports System
Imports System.Text.RegularExpressions
Class Sample
Shared Sub Main()
Dim text As String ="Regexにマッチした箇所を一つのグループとしてキャプチャする"
Dim pattern As String = "(\p{Ll}|\p{Lu})+|\p{IsHiragana}+|\p{IsKatakana}+|\p{IsCJKUnifiedIdeographs}+"
For Each m As Match In Regex.Matches(text, pattern)
Console.WriteLine(m.Value)
Next
End Sub
End Class
実行結果
Regex に マッチ した 箇所 を 一 つの グループ として キャプチャ する