正規表現に次の文字を使用できます。
ひらがな…\p{Hiragana}
カタカナ…\p{Katakana}
漢字…\p{Han}
これを使うとひらがな・カタカナ・漢字を抽出できます。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, RegularExpressions;
const
Target = '1あ2い3漢a字bカcナ';
Pattern = '[\p{Hiragana}|\p{Katakana}|\p{Han}]';
var
match: TMatch;
matches: TMatchCollection;
begin
matches := TRegEx.matches(Target, Pattern);
for match in matches do
WriteLn(Format('%s (%d, %d)', [match.Value, match.Index, match.Length]));
end.
実行結果
あ (2, 1)
い (4, 1)
漢 (6, 1)
字 (8, 1)
カ (10, 1)
ナ (12, 1)