Delphi XE8で正規表現を使って日本語(ひらがな・カタカナ・漢字)を抽出するには

正規表現に次の文字を使用できます。

ひらがな…\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)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です