日本語入力では、ほとんどのかたがローマ字入力で漢字に変換します。
(かな入力で入力するかたは今は殆どいないでしょうけど)
もちろん日本人なら漢字の読みが分かりますのでそれは問題がありません。
自分は少々中国語(汉语 han yu/普通话 pu tong hua)をちょっとだけ勉強しています。
日本語と同じように中国語もローマ字入力のように入力して行きます。
そのピンイン入力をするのですが、漢字の読みが分からないと入力ができません。
その読みを勉強するのに、Wordpressの単語カード調のプラグインを使って勉強しようと
日本語の当用漢字もどきの中国語でよく使う漢字(汉字 han zi)2500字を探しました。
それをWordpress単語カードプラグインに入力するためには、漢字と読み(ピンイン)を
一対一に並べ替える必要が出てきました。
取り出した2500字は下図のようになっています。
それを正規表現を使って縦一列に並べ替え、それにピンイン(ローマ字読み)を入れて行く作業をします。
手作業で一列になれば変えるのは大変な手間ですのでそれを正規表現を使って一括処理。
というのが今回のテーマです。
中国語 漢字2500字
Jeditを使ってまず、タブをスペースに変換し、プレーンテキストにして、スペースを改行と入れ替えます。
検索対象 \s →置換対象 \n
処理後
次に、空白行を削除します。
検索対象 ^\s → 置換対象 空白
自分はさほど正規表現に詳しくありませんので手探りで操作している段階です。
検索対象スペースが、全角であるか半角であるかは、ちょっと置いておきます。
空白行削除後
今度は画数表示が邪魔になりました。
画数表示では、一画から二十三画まであります。
このパターンは、漢字が連続して二回もしくは三回表示されますので、そのパターンを探して削除します。
検索対象 \p{Han}{2}? → 置換対象 空白
エスケープ文字(MacOSではバックスラッシュ)で回避して、プロパティー属性が漢字で、
二回以上連続でマッチするパターンを探し、その行を削除する。という作業をします。
これで、2500文字を縦一列に並べ替えることができました。
本当は動画で説明したほうがリアルタイムで動きが分かり、理解しやすいかと思いますが、
途中で面倒になってやめてしまいました。そのうち気が向けばやってみたいと思います。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー