翻訳横丁の裏路地

We can do anything we want to do if we stick to it long enough.

MSワード正規表現 〜お題に沿って〜 その3

禿頭帽子屋の独語妄言 side A」の「# 翻訳者のための正規表現~勉強会の解説、その3」になぞって、お題その4をワードの正規表現を使って表現してみたいと思います。

お題その4:

・数字の全角半角、それに続く丸カッコの全角半角が混在しているとき、
ぜんぶ一括して「半角数字 + 半スペ + 半角丸カッコ(この中は任意) + 半スペ」に置換する

今回は、かなり難題です。前回のお題の経験を生かして1行で記述してみました。但し、「半角数字」への置換は現状のワードの正規表現では実現できません。(但し、WildLight等を使って複数行の正規表現を実行すれば可能ですが)

【検索】

([0-90-9]{1,})[ ¥((]{1,2}(*)[¥))]

【置換】

¥1 (¥2)

【説明】

([0-90-9]{1,}) で、半角か全角の1桁以上の数字の羅列…にヒットします。それを¥1へ代入。

[△¥((]{1,2} で、半角スペース、もしくは半角か全角の丸括弧開く…にヒット。ヒットする組合せとして「△」「(」「(」「△△」「△(」「△(」「((」「((」「(△」「((」「((」「(△」になります。欲しいのは青文字にした4つです。それ以外の組合せが不幸にもあると同様にヒットする事になります。
半角括弧を検索文字とする際には、¥を前に付ける必要があります。

* で、任意の文字列。
[¥))] で、半角か全角の丸括弧閉じる…にヒット。

[¥((]{1,2}(*)[¥))] で、丸括弧に囲まれた任意の文字列を¥2へ代入。

  • ¥1△(¥2)△

置換句には、半角括弧の前後に半角スペースが入っています。

〜〜〜番外編〜〜〜

全角数字を半角に変換し、上記の正規表現を実行する WildLight の辞書を付けておきます(笑)

やっている事は、全角数字1文字毎を半角へ置き換えて、最後に上記お題の正規表現文字列を実行するようになっています。

作成者: Terry Saito

某社翻訳部門の中の人です。 詳細は、以下のURLよりどうぞ。 https://terrysaito.com/about/

コメントは受け付けていません。