正規表現の使いどころ(主に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
- 置換文字列:
(空白)
「行送り:自動」に設定すると、その行はフレームの高さになる。