テキストエディタで使える正規表現チートシート

正規表現のチートシート(早見表)を作りました。

「Dreamweaver」「Sublime Text 3」「PhpStorm」「Atom」の4つのテキストエディタに対応しています。

Webデザイナー、フロントエンドエンジニアが、テキストエディタを使って検索や置換をするとき用に作りました。もちろん、資料をよく作るディレクターや、Web制作関連ではない人でも積極的に使ってほしいです。
よく使うものばかり載せているので、だいたいのプログラミング言語でも使えます。

正規表現 画像版・PDF版

PDF版が一番見やすいと思います(軽いし)。

正規表現チートシート PNG画像正規表現チートシート PNG画像

正規表現チートシート PNG画像正規表現チートシート PDFファイル

正規表現とは

正規表現とは、文字を集合(パターン)で表す方法です。
検索を例にとると、通常の検索は入力した文字のみの検索ですが、正規表現を使うと「aからzまでの文字」というパターンなどで検索できます。

テキストエディタで検索する場合は、Ctr+F(MacはCmd+F)で検索ボックスを表示させます。
「Dreamweaver」だと「正規表現を使用」をチェック、「Sublime Text 3」や「Atom」だと「.*」をチェック、「PhpStorm」だと「Regex」をチェックしてください。

正規表現 HTML版

※特に記述がない限り、改行文字(改行・復帰)は含まない
※通常のプログラミング言語でもだいたいのものは動作します
※動作を保証するものではありません

Dreamweaver = Dreamweaver
Sublime Text 3 = Sublime Text 3(おそらくSublime Text 2でも同じ)
PhpStorm = Phpstorm(おそらくWebstromでも同じ)
Atom = Atom

Dreamweaver Sublime Text 3 PhpStorm Atom 正規表現 説明
Dreamweaver Sublime Text 3 PhpStorm Atom a 「a」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom . 任意の1文字に一致
Dreamweaver PhpStorm PhpStorm Atom a* 「a」が0個以上に一致(最長一致)
Dreamweaver検索文字が1文字のみの場合検索できない
Dreamweaver Sublime Text 3 PhpStorm Atom a*? 「a」が0個以上に一致(最短一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a+ 「a」が1個以上に一致(最長一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a+? 「a」が1個以上に一致(最短一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a? 「a」が0個か1個に一致(最長一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a?? 「a」が0個か1個に一致(最短一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a{1,3} 「a」が1〜3個連続に一致(最長一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a{1,3}? 「a」が1〜3個連続に一致(最短一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a{3} 「aaa」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom a{1,} 「a」が1個以上に一致(最長一致)
Dreamweaver Sublime Text 3 PhpStorm Atom a{1,}? 「a」が1個以上に一致(最短一致)
           
Dreamweaver Sublime Text 3 PhpStorm Atom [abc] 「a」か「b」か「c」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom [0-9] 半角数値に一致
Dreamweaver Sublime Text 3 PhpStorm Atom [0-9A-Za-z] 半角英数字に一致
Dreamweaver Sublime Text 3 PhpStorm Atom [-0-9] 半角数値かハイフンに一致
(ハイフンを最後やエスケープでも可)
Dreamweaver Sublime Text 3 PhpStorm Atom [^abc] 「a」か「b」か「c」以外のいずれかに一致
(改行などの空白文字にも一致)
Dreamweaver Sublime Text 3 PhpStorm Atom abc|def 「abc」もしくは「def」に一致
           
Dreamweaver Sublime Text 3 PhpStorm Atom (abc) 「abc」をグループ化(キャプチャする)
Dreamweaver Sublime Text 3 PhpStorm Atom (?:abc) 「abc」をグループ化(キャプチャしない)
Dreamweaver Sublime Text 3 PhpStorm Atom $1 1番目にキャプチャしたものを展開
Dreamweaver Sublime Text 3 PhpStorm Atom置換後の指定でのみ可
           
Dreamweaver Sublime Text 3 PhpStorm Atom \s 空白文字(改行、復帰、タブ、スペース等)に一致
(処理系によっては全角スペース含む)

Dreamweaver Atom全角スペースにも一致 Sublime Text 3 PhpStorm全角スペースに一致しない
Dreamweaver Sublime Text 3 PhpStorm Atom \S \sに一致するもの以外に一致
Dreamweaver Sublime Text 3 PhpStorm Atom \n 改行に一致
Dreamweaver元ファイルの改行コードに関係なくソフトで設定された改行コードとして扱われる Sublime Text 3 PhpStormUnix用(LF)として扱われる
Dreamweaver × × Atom \r 復帰に一致
Dreamweaver元ファイルの改行コードに関係なくソフトで設定された改行コードとして扱われる Sublime Text 3 PhpStormUnix用(LF)として扱われる。
Dreamweaver Sublime Text 3 PhpStorm Atom \t タブに一致
Dreamweaver Sublime Text 3 PhpStorm Atom \v 垂直タブに一致
Sublime Text 3 Atomなぜか改ページにも一致
Dreamweaver Sublime Text 3 PhpStorm Atom \f 改ページに一致
Dreamweaver Sublime Text 3 PhpStorm Atom \d 半角数値に一致
(処理系によっては全角にも一致)

Dreamweaver全角にも一致 Sublime Text 3 PhpStorm Atom全角に一致しない
Dreamweaver Sublime Text 3 PhpStorm Atom \D \dに一致するもの以外に一致
(改行を含む空白文字にも一致)
Dreamweaver Sublime Text 3 PhpStorm Atom \w 単語に一致([A-Za-z0-9_]に同じ)
(ただし、処理系によってまちまち)
Dreamweaver Sublime Text 3 PhpStorm Atom \W \wに一致するもの以外に一致
(改行を含む空白文字にも一致)
Dreamweaver Sublime Text 3 PhpStorm Atom \b 単語の境界の位置(\wと\Wが切り替わる位置)
(ただし、処理系によってまちまち)
([\b]でバックスペースに一致する処理系も)

Dreamweaver Sublime Text 3 Atom[\b]でバックスペースに一致 PhpStorm日本語なども単語として扱われる
Dreamweaver Sublime Text 3 PhpStorm Atom \B \bではない位置
Dreamweaver Sublime Text 3 PhpStorm Atom ^a 文字列の先頭の「a」に一致
(処理系によっては行の先頭(改行の後)にも対応)

Sublime Text 3 PhpStorm Atom行の先頭にも対応
× Sublime Text 3 PhpStorm × \Aa 文字列の先頭の「a」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom a$ 文字列の末尾の「a」に一致
(処理系によっては行の末尾(改行の前)にも対応)

Sublime Text 3 PhpStorm Atom行の末尾にも対応
× Sublime Text 3 PhpStorm × a\z 文字列の末尾の「a」に一致
× Sublime Text 3 PhpStorm × a\Z 文字列の末尾の「a」に一致(末尾の手前に1つの改行文字可)
× Sublime Text 3 × × \< 単語の始まりの位置
Dreamweaver PhpStorm Atom「<」に一致
× Sublime Text 3 × × \> 単語の終わりの位置
Dreamweaver PhpStorm Atom「>」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom \x61 「a」に一致(16進エスケープ)
Dreamweaver × PhpStorm Atom \141 「a」に一致(8進エスケープ)
Dreamweaver Sublime Text 3 PhpStorm Atom \cJ 改行に一致(\cの後に英字で制御文字に一致)
           
Dreamweaver Sublime Text 3 PhpStorm Atom (?=def) 「def」の左の位置
Dreamweaver Sublime Text 3 PhpStorm Atom abc(?=def) 「def」の左の位置にある「abc」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom (?=def)de 「def」の最初の「de」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom abc(?!def) 「def」の左ではない位置にある「abc」に一致
× Sublime Text 3 PhpStorm Atom (?<=abc) 「abc」の右の位置
(長さが固定された文字列のみ検索可の処理系がほとんど)
× Sublime Text 3 PhpStorm Atom (?<=abc)def 「abc」の右の位置にある「def」に一致
(長さが固定された文字列のみ検索可の処理系がほとんど)
× Sublime Text 3 PhpStorm Atom bc(?<=abc) 「abc」の最後の「bc」に一致
(長さが固定された文字列のみ検索可の処理系がほとんど)
× Sublime Text 3 PhpStorm Atom (?<!abc)def 左に「abc」が来ない「def」に一致
Dreamweaver Sublime Text 3 PhpStorm Atom \\
\.
\*
\^
\$
\+
\|
\?
\(
\)
\[
\]
\{
\}
エスケープが必要な文字(必要ない場合や処理系もあり)

[\s\S] 改行、復帰、タブ、スペース等を含む任意の1文字に一致
(?<!\.)class 頭にドットがつかない「class」に一致
^(?!abc).* 「abc」で始まらない文字列(処理系により行の場合もあり)に一致
^((?!abc$).)*$ 「abc」で終わらない文字列(処理系により行の場合もあり)に一致
^((?!abc).)*$ 「abc」を含まない文字列(処理系により行の場合もあり)に一致
<([^"'>]|"[^"]*"|'[^']*')*> HTMLのタグ(コメント含む)に一致(
<([^"']|"[\s\S]*?"|'[\s\S]*?')*?>でも可)

まとめ

今回確認したテキストエディタ(ソフト)は、「Dreamweaver」「Sublime Text 3」「PhpStorm」「Atom」ですが、こうして見ると、Dreamweaverで正規表現は少し機能が劣る感じがします。また、「\n」の扱いは、各テキストエディタで扱いが違うので注意が必要です。