質問: 正規表現:青空文庫形式でルビを活かし、ルビ該当の漢字を削除する 正規表現で、 【青空文庫形式などでルビを活かし、ルビ該当の漢字を削除する】方法があったら教えて下さい。 例えば 焼肉定食《やきにくていしょく》を食べている、最中《さいちゅう》です。 というテキストを やきにくていしょくを食べている、さいちゅうです。 というテキストに変換したいです。 目的は 朗読ソフトで読み上げるテキストの作成です。 通常、 朗読ソフトで読み上げるテキストの作成では、 ルビの削除を使う方もいらっしゃるので そちらの正規表現は調べてあります。 しかし、活かしたいはルビの方で 例えば以下のような文章 最中《もなか》を食べている、最中《さいちゅう》です。 といった文章があった場合、ルビ削除では 正しく読み上げができないです。 ルビを活かして もなかを食べている、さいちゅうです。 に変換する正規表現があったら教えて下さい。 当方の利用環境は テキスト編集としては秀丸エディタ epub変換ソフトとしてはcalibre 読み上げソフトは詠太(一太郎) を利用してます。 よろしくお願いします。
回答: 例えばですが、 「1個以上の漢字」があり、 次に、「《」があり、 次に、「1個以上のひらがな」があり、 次に、「》」があれば、 「1個以上のひらなか」の部分だけにする、 という秀丸エディタの置換における正規表現の例は、以下のようになります。 検索 : [亜-黑]+《([ぁ-ん]+)》 置換 : \1 (※「正規表現」にチェックを入れます。) 意味は以下の通りです。 「[亜-黑]+」=「1個以上の漢字」 「[ぁ-ん]+」=「1個以上のひらがな」 「\1」=「1つ目の、()で囲んだ部分」 ただ、実際の文書データで実行すると新たな問題が出てくる可能性もありますので、その場合は正規表現の解説サイト等を参考に修正なさってください。 また、対象テキストファイルの文字コードやエディタの仕様によっては、漢字を表す「亜-黑」や、ひらがなを表す「ぁ-ん」の部分を、別の表現に変更しないといけない可能性もあるかも知れません。上記の正規表現がうまくいかなければ、その辺りも修正なさってください。 ■ 秀丸エディタの正規表現―秀丸エディタを使いこなす http://www.shuiren.org/chuden/teach/hidemaru/seiki/index-j.html