正規表現チートシートの使い方|記法を日本語の例つきで逆引きする早見表
公開日:2026年7月31日 更新日:2026年9月2日 運営:シルギア(Analyzegear, Inc.) 対象ツール:正規表現チートシート
正規表現(regex)は、文字列のパターンを書いて検索・置換・入力チェックを行うための小さな言語です。メールアドレスの形式確認、ログからの行の抽出、テキストの一括置換など活躍の場は広い一方、メタ文字や量指定子の記法は数が多く、いざ書こうとすると細部を思い出せないことがよくあります。この正規表現チートシートは、その記法を日本語の説明と例つきでカテゴリ別に一覧できる早見表です。JavaScript(ECMAScript)の正規表現をベースにしており、記法・意味・具体例の3点セットで並んでいるので、目的の記法を逆引きしやすいのが特長です。
掲載しているカテゴリと主な記法
記法は7つのカテゴリに整理して掲載しています。それぞれ「1文字」「繰り返し」「位置」といった役割で分かれているため、書きたい処理の性質から目的の記法にたどり着けます。
- メタ文字・文字クラス:任意の1文字の .、数字の \d、英数字とアンダースコアの \w、空白の \s、集合の [abc]、範囲の [a-z]、否定の [^abc] など、1文字にマッチする基本記号。
- 量指定子(繰り返し):0回以上の *、1回以上の +、省略可の ?、ちょうどn回の {n}、n〜m回の {n,m}、最短一致(非貪欲)の *?。
- アンカー・境界:行頭・行末の ^ と $、単語境界の \b など「位置」にマッチする記法。
- グループ・参照・選択:キャプチャする (...)、キャプチャしない (?:...)、名前付きグループ、後方参照 \1、OR の a|b。
- 先読み・後読み:直後の条件を見る (?=...)、直前の条件を見る (?<=...) など、文字を消費せずに前後を調べる記法。
- フラグ:全一致の g、大小無視の i、複数行の m、dotAll の s など、正規表現全体の挙動を切り替える修飾子。
- よく使うパターン例:メール・URL・郵便番号・電話番号・日付・時刻・HTMLタグ・かな漢字・全角英数字・3桁区切りカンマなど、コピーしてすぐ試せる実用例。
使い方
- ページを開くと、上の7カテゴリごとに記法・意味・例の一覧が表示されます。件数(例:全75件の記法を掲載)も上部に出ます。
- 探したい記法や用途があれば、検索ボックスにキーワードを入力します。記法そのもの・日本語の説明・例文・カテゴリ名に部分一致で絞り込まれます。
- たとえば「メール」でメールアドレス関連、「数字」で数字系の記法、「先読み」で先読み系だけを表示できます。検索ボックスを空にすると全件表示に戻ります。
- 各記法の右の「コピー」ボタンで、その記法をクリップボードに取り込めます。エディタや正規表現テスターに貼り付けて使います。
- 「表示中の一覧をCSVでダウンロード」を押すと、いま絞り込んでいる結果だけをカテゴリ・記法・意味・例の4列でCSV出力できます。Excelでも文字化けしないようUTF-8 BOM付きで書き出します。
具体例で読み解く
並んでいる記法は、組み合わせて初めて意味を持ちます。いくつか実際のパターンで動きを追ってみましょう。
- 郵便番号:^\d{3}-\d{4}$ は「数字3桁・ハイフン・数字4桁」で行全体が構成されることを要求します。123-4567 にはマッチし、12-34567 やハイフンなしの1234567 は不可です。
- 色つづりの表記ゆれ:colou?r は u を「0回または1回」に指定するため、color と colour の両方にマッチします。
- 3桁区切りカンマの位置:\B(?=(\d{3})+(?!\d)) は「右から3桁ずつのかたまりの手前(ただし語頭以外)」という位置だけにマッチする置換用のパターンです。1234567 に当てはめるとカンマが2か所入り、1,234,567 になります。
- 単位つきの数字だけ抜く:\d+(?=円) は「直後に円が続く数字」にマッチしますが、円自体は結果に含めません。500円 からは 500 だけが取れます。
よくある失敗と注意点
正規表現は書き方を少し変えるだけでマッチ範囲が大きく変わります。つまずきやすいポイントを押さえておきましょう。
- 貪欲と非貪欲の取り違え:* や + は既定で「できるだけ長く」マッチします。<.*> は連続するタグをまとめて飲み込むため、1つずつ切り出したいときは ? を足した非貪欲の <.*?> を使います。
- 記号のエスケープ忘れ:. * + ? ( ) [ ] { } ^ $ | \ はメタ文字です。文字そのものにマッチさせたいときは直前にバックスラッシュを付け、ピリオド自体は \. と書きます。
- 言語・実装による差:メタ文字や量指定子など基本記法は多くの言語で共通ですが、後読み (?<=...) の対応状況、名前付きグループの書き方、使えるフラグの種類は環境によって異なります。PHP・Python・Java などで使うときは、その仕様もあわせて確認してください。
- 厳密な検証は難しい:メールアドレスや電話番号を完璧に検証する式を作るのは現実的でない場合もあります。掲載しているパターンはあくまで簡易的な目安として、想定する入力の範囲を決めたうえで使ってください。
よくある質問
どの言語の正規表現に対応していますか
JavaScript(ECMAScript)の正規表現をベースにしています。基本記法は多くの言語で共通ですが、後読みや名前付きグループ、フラグの種類には実装差があるため、他環境ではその仕様も確認してください。
先読み・後読みは何に使いますか
「その位置の前後がある条件を満たすか」を、文字を消費せずに確認する仕組みです。\d+(?=円) のように「特定の文字が続く/続かない数字だけ」を抜き出したり、桁区切りカンマの挿入位置を求めたりするのに使います。
掲載しているパターン例はそのまま使えますか
JavaScript でそのまま動く簡易パターンとして掲載しています。実運用では必ず正規表現テスターで実際の入力に対する挙動を確かめ、想定範囲に合わせて調整してから使ってください。記法をコピーしたら、テスターと併用して狙いどおりにマッチするか確認するのがおすすめです。