InDesignの正規表現の記法と、その例を正規表現スタイルにしたマッチング結果のサンプルを一覧にしています。
まだ作成途中です。まずは「文字を表すもの」の作成から始めています。
正規表現スタイルでのマッチング結果には、該当箇所をピンク色の文字で示しました。
検証したバージョンは、InDesign2023です。
Adobe公式サイト Adobe InDesignの機能を詳しく見てみる
文字を表すもの
リテラル:(文字そのもの)
正規表現の例:
リテラル
意味/注意点:
入力した文字そのもにマッチ。
正規表現スタイルでのマッチング結果:
任意の1文字: .(ドット)
正規表現の例:
任意の.文字
意味/注意点:
任意の1文字には、空白も含む。
「任意の 文字」にもマッチする。
改行文字は含まない。
「任意の¶文字」にはマッチしない。
正規表現スタイルでのマッチング結果:
タブ文字:\t
正規表現の例:
\t区切り
意味/注意点:
タブ文字に続いて「区切り」がある場合ににマッチする。
「Tab」キーで入力したタブ文字は、InDesignの画面では「 » 」で表される。
正規表現スタイルでのマッチング結果:
改行文字:\r
正規表現の例:
改行\r
意味/注意点:
「改行」という文字に続いて、改行文字がある場合にマッチ。
改行文字は、右手のShiftキーの上あたりにある「enter」キーで入力。
InDesignでは、テンキー近くの「enter」は「改フレーム」になるので注意。
正規表現スタイルでのマッチング結果:
強制改行:\n
正規表現の例:
強制改行\n
意味/注意点:
(InDesign拡張機能)
「強制改行」という文字に続いて、強制改行文字がある場合にマッチする。
強制改行文字とは、Shift+Enterで入力する改行。
強制改行は、見た目には改行されるが、同一の段落として扱われる。
正規表現スタイルでのマッチング結果:
数字:\d
正規表現の例:
\d
意味/注意点:
「数字」にマッチする。
当然ながら桁カンマやピリオドにはマッチしない。
正規表現スタイルでのマッチング結果:
数字以外の文字:\D
正規表現の例:
\D
意味/注意点:
数字以外の全てにマッチする。改行・強制改行などにもマッチ。
正規表現スタイルでのマッチング結果:
ホワイトスペース:\s
正規表現の例:
space\s
意味/注意点:
「space」という文字に続いてスペース文字がある場合にマッチする。
InDesignのスペース文字とは、タブ文字・改行・強制改行と、InDesignのメニュー[書式]-[空白文字を挿入]から入力できるスペース。
マッチング結果を明確にするため、マッチする箇所は「マゼンタ100+下線」にした。
正規表現スタイルでのマッチング結果:
スペース以外の文字:\S
正規表現の例:
\S
意味/注意点:
\sではない文字にマッチ。
マッチング結果を明確にするため、マッチする箇所は「マゼンタ100+下線」にした。
正規表現スタイルでのマッチング結果:
任意の単語文字:\w
正規表現の例:
\w
意味/注意点:
任意の単語文字にマッチする。
一般的に「任意の単語」は「_(アンダーバー)を含む英数文字」だが、InDesignでは和文にもマッチする。
正規表現スタイルでのマッチング結果:
任意の単語文字以外:\W
正規表現の例:
\W
意味/注意点:
「\w」でマッチする文字以外にマッチする。
InDesignでは和文にはアンマッチ。
正規表現スタイルでのマッチング結果:
任意の大文字:\u
正規表現の例:
\u
意味/注意点:
任意の大文字にマッチする。
全角・半角両方にマッチ。
ギリシャ文字・異字体にもマッチする。
正規表現スタイルでのマッチング結果:
大文字以外の文字:\U
正規表現の例:
\U
意味/注意点:
「\u」以外の文字にマッチ。
正規表現スタイルでのマッチング結果:
任意の小文字:\l
正規表現の例:
\l
意味/注意点:
任意の小文字にマッチ。
ギリシャ文字・異字体にもマッチする。
正規表現スタイルでのマッチング結果:
小文字以外の文字:\L
正規表現の例:
\L
意味/注意点:
「\l」以外の文字にマッチする。
正規表現スタイルでのマッチング結果:
欧文アルファベット文字:[\l\u]
正規表現の例:
[\l\u]
意味/注意点:
「\l」と「\u」を組み合わせると、大文字と小文字の両方にマッチする。
ギリシャ文字・異字体にもマッチ。
正規表現スタイルでのマッチング結果:
漢字:~K
正規表現の例:
~K
意味/注意点:
CJK統合漢字にマッチする(らしい)。
\(バックスラッシュ)は使わず「~K」と書く。
正規表現スタイルでのマッチング結果:
メタ文字のエスケープ:\
正規表現の例:
\\
\.
\$
\~
意味/注意点:
メタ文字(正規表現の記述で使う文字)そのものにマッチする。
正規表現としての意味を持つ記号は、その文字の前に「\」を置くと一般の文字として認識される。
その他の文字も「\」に続く文字は一般の文字として認識される。
上記の例のほか、例えば「\A」は「A」を表す。
正規表現スタイルでのマッチング結果:
文字コード(16進数)検索:\x{16進数コード}
正規表現の例:
\x{5B57}
意味/注意点:
文字コードが「5B57」の「字」にマッチする。
正規表現スタイルでのマッチング結果:
英数字(Posix):[[:alnum:]]
正規表現の例:
[[:alnum:]]
意味/注意点:
Posix正規表現。
英数字にマッチ。
だが、InDesignでは英数字以外の和文もマッチしてしまう。
否定はカレットをつける。
[[:^alnum:]]
正規表現スタイルでのマッチング結果:
アルファベット(Posix):[[:alpha:]]
正規表現の例:
[[:alpha:]]
意味/注意点:
Posix正規表現。
アルファベットにマッチ。
だが、InDesignではアルファベット以外の和文もマッチしてしまう。
否定はカレットをつける。
[[:^alpha:]]
正規表現スタイルでのマッチング結果:
数字(Posix):[[:digit:]]
正規表現の例:
[[:digit:]]
意味/注意点:
Posix正規表現。
\dまたは[0-9]と同じ。
否定はカレットをつける。
[[:^digit:]]
正規表現スタイルでのマッチング結果:
アルファベット小文字(Posix):[[:lower:]]
正規表現の例:
[[:lower:]]
意味/注意点:
Posix正規表現。
小文字のアルファベットにマッチする。
異字体の小文字にもマッチ。
否定はカレットをつける。
[[:^lower:]]
正規表現スタイルでのマッチング結果:
記号文字(Posix):[[:punct:]]
正規表現の例:
[[:punct:]]
意味/注意点:
Posix正規表現。
ASCII内の記号文字(パンクチュエーション)と、その字形集合にマッチする(とされている)。
否定はカレットをつける。
[[:^punct:]]
正規表現スタイルでのマッチング結果:
スペース(Posix):[[:space:]]
正規表現の例:
space[[:space:]]
意味/注意点:
Posix正規表現。
「space」に続いてスペースがある場合にマッチする。
否定はカレットをつける。
[[:^space:]]
マッチング結果を明確にするため、マッチする箇所は「マゼンタ100+下線」にした。
正規表現スタイルでのマッチング結果:
アルファベット大文字(Posix):[[:upper:]]
正規表現の例:
[[:upper:]]
意味/注意点:
Posix正規表現。
大文字のアルファベットにマッチする。
否定はカレットをつける。
[[:^upper:]]
正規表現スタイルでのマッチング結果:
単語文字(Posix):[[:word:]]
正規表現の例:
[[:word:]]
意味/注意点:
Posix正規表現。
単語文字にマッチする。
一般的に「単語文字」とは[[:alnum:]]とアンダーバーだが、InDesignでは和文にもマッチしてしまう。
否定はカレットをつける。
[[:^word:]]
正規表現スタイルでのマッチング結果:
16進数字(Posix):[[:xdigit:]]
正規表現の例:
[[:xdigit:]]
意味/注意点:
Posix正規表現。
16進数字を表現する際に使われる文字(0〜9、A〜F、a〜f)にマッチ。
InDesignでは対象文字の異字体の一部にもマッチする。
正規表現スタイルでのマッチング結果:
字形セット(Posix):[[=A=]](「A」は任意の文字)
正規表現の例:
[[=A=]]
[[=う=]]
意味/注意点:
特定文字の字形セットにマッチ。
ここでの[[=A=]]は、半角大文字のA。
正規表現スタイルでのマッチング結果:
Adobe公式サイト Adobe InDesignの機能を詳しく見てみる
位置を表すもの
段落の先頭: ^
正規表現の例:
^InDesign
意味/注意点:
行の先頭にある「InDesign」にマッチ。
強制改行した場合の先頭にもマッチする。
行中の「InDesign」にはマッチしない。
正規表現スタイルでのマッチング結果:
段落の末尾: $
正規表現の例:
。$
意味/注意点:
行末の「。」にマッチ。
強制改行にはマッチするが、自然改行の行末にはマッチしない。
正規表現スタイルでのマッチング結果:
ストーリーの先頭: \A
正規表現の例:
\Aおはなし
意味/注意点:
ストーリーの先頭の「おはなし」にマッチ。
連結した2番目以降のテキストフレームの先頭の「おはなし」にはマッチしない。
正規表現スタイルでのマッチング結果:
ストーリーの末尾: \Z
正規表現の例:
行目\Z
意味/注意点:
ストーリー末尾の「行目」にマッチ。
ストーリーの最後に改行があるとマッチしない。
正規表現スタイルでのマッチング結果: