正規表現の使いどころ(主にInDesign)
この記事内の目次
仕事で出てきた正規表現についてまとめてみました。
考え途中のところもありますし、もっとスマートな書き方があるかもしれません(コメント歓迎です!)。
半角のパーレン(丸括弧)を全角に変換したい
- 検索文字列:
\((.+?)\) - 置換文字列:
($1)

- パーレン(丸括弧)を文字列として扱うために
\を付ける - 括弧内の文字列を
(.+?)で指定 - それを
$1で受ける(検索文字列の()内を受ける) $1を全角のパーレン(丸括弧)で囲む
欧文中、および、ソースコード内のパーレンまで対象にしないように要注意。
- [検索形式]で対象となる段落スタイルを指定する
- [検索形式]で[言語]を「日本語」に指定する
次のように2回の検索を行わずに、まとめてできるのがメリット。
- ( → (
- ) → )
起こしと閉じで混ざっている場合には、[((] のように対象にしたい括弧を[]で囲む。[]内では\は不要。
- 検索文字列:
[((](.+?)[))] - 置換文字列:
($1)
ユースケース:「¥10,000」を「10,000円」に変更したい

- 検索文字列:
¥([0-9,]+) - 置換文字列:
$1円

「ユーザビリティ」「ユーザセグメント」「ユーザー」以外で「ユーザ」が使われている箇所を「ユーザー」にしたい
ユーザーとユーザの揺れを正したい。しかし、「ユーザビリティ」と「ユーザーセグメント」は除く。
- 検索文字列:
ユーザ(?!ー|ビリティ|セグメント) - 置換文字列:
ユーザー

InDesignでインライングラフィック(アンカー付きオブジェクト)の前後に自動的にアキを入れたい

文字スタイルを作成:文字前のアキ量(文字後のアキ量)を「四分」などに設定

段落スタイルの「正規表現スタイル」で「~a」に対して、文字スタイルを指定

日本語内ひらがな、カタカナ内に入りこんでいる半角スペースを検索して削除したい
原稿内に不要なスペースが紛れ込んでしまっていることがあります。

- 検索文字列:
(?&<=[ァ-ヶぁ-ん~K])\s(?=[ァ-ヶぁ-ん]~K) - 置換文字列:
(空白)

連続するスペースは\s+で検索できるけれど、上記の中には入れられない…
長方形ツールを[長方形ツール]のように括弧付きに統一したい
「ツール]」のように]がついていない「ツール」という文字列を探したい
- 検索文字列:
ツール(?!])
縦中横の数字を等幅半角/三分として扱いたい

[異体字]を「等幅半角/三分字形」に設定した文字スタイルを作成

段落スタイルにて正規表現スタイルを設定
[0-9]{2}→ 等幅半角字形の文字スタイル[0-9]{3}→ 等幅三分字形の文字スタイル

「10文字以上の文字列」に、「水平比率:90%」を指定した段落スタイルを適用したい
- 検索文字列:
.{10,} - 置換文字列:
(空白) - 検索形式:対象にしたい段落スタイル
- 置換形式:適用したい段落スタイル

「Adobe XD」はそのまま、「XD」のみ「Adobe XD」にしたい
- 検索文字列:
(?<!Adobe )XD - 置換文字列:
Adobe XD

画像が入っているフレームだけが入っている行を探して、指定した段落スタイルを適用したい
- 検索文字列:
^~a\r - 置換文字列:
(空白)

「行送り:自動」に設定すると、その行はフレームの高さになる。