🔍 無料・登録不要

Regex道場

正規表現、分かりにくい
ハイライトで即解決

インストール不要。パターンを入力するたびにマッチ部分がリアルタイムでオレンジ表示。 「見て理解する」体験で、正規表現が苦手な人でも確実に身につく。

無料で始める →
regex-dojo — JavaScript RegExp
正規表現パターン
/\d{4}-\d{2}-\d{2}/g
テスト文字列
Start: 2024-01-15, End: 2024-03-31
2 件マッチ
リアルタイムハイライト
パターンを入力するたびにマッチ部分をオレンジでハイライト。即座に結果を確認できる。
即時フィードバック
正規表現の正誤を自動判定。何度でもやり直せて確実に定着する。
📖
体系的な学習
リテラル → 文字クラス → アンカー → 量指定子 → グループの順で段階的に習得。
🛠️
実務直結パターン
メール・URL・日付・電話番号など、現場でよく使う正規表現パターンを体得。

コース一覧

レベル別・目的別に体系的に学習できます

🔍
正規表現入門
リテラルマッチから文字クラス・アンカー・量指定子・グループまで、正規表現の基礎を体系的に習得。
5レッスン
対象: プログラミング初学者・正規表現の基礎を固めたい方
🧪
正規表現 応用
先読み・後読み・名前付きキャプチャ・Unicode対応など、実践的な正規表現テクニックを習得。
対象: 正規表現の基礎を習得した方・実務で使いたい方
準備中
🛠️
実践パターン集
メール・URL・電話番号・日付など、現場でよく使う正規表現パターンを体得する。
対象: 即戦力パターンを習得したい方・コードレビューで指摘されたくない方
準備中

正規表現 メタ文字 チートシート

Regex道場で扱う記号の早見表です。書き方を思い出したいときはここを見て、 実際に動かして確かめたくなったらレッスンを開いてください。

記号意味
.任意の 1 文字 (改行を除く)a.c → abc, a1c
\d数字 1 文字 (0-9)\d\d → 42
\w英数字とアンダースコア 1 文字\w+ → user_01
\s空白文字 (半角空白・タブ・改行)a\sb → a b
[abc]角括弧の中のいずれか 1 文字[aeiou] → 母音
[^abc]角括弧の中以外の 1 文字[^0-9] → 数字以外
[a-z]範囲指定 (小文字英字)[A-Za-z] → 英字
*直前を 0 回以上ab*c → ac, abc, abbc
+直前を 1 回以上ab+c → abc, abbc
?直前を 0 回か 1 回colou?r → color, colour
{n,m}直前を n 回以上 m 回以下\d{2,4} → 12, 1234
^行の先頭^Error → 行頭の Error
$行の末尾\.log$ → .log で終わる
|いずれか (OR)cat|dog → cat か dog
( )グループ化と後方参照(\d{4})-(\d{2})
\特殊文字のエスケープ\. → 文字としての .

正規表現は 「何の文字か」を決める部分 「何回繰り返すか」を決める部分 の組み合わせでできています。\d [a-z] が前者、+ {2,4} が後者です。 この 2 つに分けて読むだけで、長いパターンもかなり読みやすくなります。

学習の進め方

入門コースは リテラル → 文字クラス → アンカー → 量指定子 → グループ の順に並んでいます。正規表現でつまずく原因のほとんどは 「何の文字か」と「何回繰り返すか」が混ざって読めなくなることなので、 この順番どおりに 1 つずつ確かめるのが結局いちばん早い道です。

各レッスンは解説を読む → 自分でパターンを書く → 一致箇所がその場でハイライトされる、 という流れです。うまく一致しないときは、対象文字列を短くしてから パターンを 1 記号ずつ足していくと、どこで意図とずれたかがすぐ分かります。

よくある質問

Regex道場は無料で使えますか?

はい。全レッスンが無料で、会員登録もインストールも不要です。ブラウザを開いてすぐに始められます。

どの言語の正規表現に対応していますか?

JavaScript の RegExp をそのまま使っています。書き方の大部分は Python・Java・PHP・Ruby・grep とも共通なので、ここで身につけた基礎はほかの言語でもほぼそのまま通用します。

* と + の違いが分かりません。

どちらも「直前の 1 文字の繰り返し」ですが、* は 0 回でもよく、+ は最低 1 回必要です。ab*c は ac にも一致しますが、ab+c は ac には一致しません。「あってもなくてもよい」なら *、「必ず 1 つはある」なら + と覚えると迷いません。

貪欲マッチ (greedy) とは何ですか?

* や + は既定でできるだけ長く一致しようとします。<.+> を <a><b> に当てると <a><b> 全体に一致してしまいます。最短で止めたいときは <.+?> のように ? を付けて非貪欲にします。

メールアドレスや日付の判定に使えますか?

使えます。日付なら \d{4}-\d{2}-\d{2}、電話番号なら \d{2,4}-\d{2,4}-\d{4} のような形が基本です。ただしメールアドレスを厳密に判定する正規表現は非常に複雑になるため、実務では「@ を含み、ドメインらしき形か」程度に留め、最終確認は確認メールの送信で行うのが一般的です。

正規表現が思ったとおりに動きません。

まず対象文字列を短くして、パターンを 1 つずつ足しながら確認するのが近道です。Regex道場はパターンを打つたびに一致箇所がハイライトされるので、どこまでが意図どおりかをその場で切り分けられます。