正規表現テスター

正規表現とテスト用の文字列を入力すると、マッチした部分をハイライト表示します。キャプチャグループの中身や、置換した結果もその場で確認できます(JavaScript の正規表現)。

/ /
マッチ結果

      

正規表現の基本

記号意味例
.任意の1文字(改行以外)a.c → abc, a-c
\d数字(0〜9)\d{3} → 123
\w英数字とアンダースコア\w+ → user_01
\s空白文字(スペース・タブ・改行)
[abc]a・b・c のどれか1文字[0-9a-f] → 16進数
[^abc]a・b・c 以外の1文字
* / + / ?0回以上 / 1回以上 / 0か1回colou?r
{n,m}n回以上m回以下\d{2,4}
^ / $行頭 / 行末(m フラグ時)^#
( )グループ化・キャプチャ(\d+)円
(?<名前> )名前付きキャプチャ(?<year>\d{4})
a|ba または bjpg|png

フラグ

フラグ意味
gすべてのマッチを探す(なければ最初の1つだけ)
i大文字・小文字を区別しない
m^ と $ を各行の先頭・末尾にマッチさせる
s. を改行にもマッチさせる
uUnicode モード(絵文字や \p{…} を正しく扱う)

よくある質問

ほかの言語(PHP・Python・Java)でも同じ結果になりますか?

基本的な記法は共通ですが、細かい仕様は言語ごとに異なります。このツールはブラウザの JavaScript エンジンで判定しています。たとえば Python では名前付きキャプチャを (?P<name>…) と書きます。

入力したら画面が固まりました

(a+)+$ のように繰り返しを入れ子にしたパターンは、文字列によっては計算量が爆発的に増えます(ReDoS)。ページを再読み込みして、パターンを見直してください。

メールアドレスを完全に判定する正規表現は?

規格(RFC 5322)に完全に従う正規表現は非常に複雑で、実用的ではありません。入力チェックは簡易的なパターンにとどめ、確認メールを送って実在を確かめるのが一般的です。