正規表現テスター

JavaScript の正規表現をその場で試せます。マッチ箇所のハイライト、名前付きを含むキャプチャグループの一覧、置換結果のプレビューを表示し、不正なパターンはエラー内容を示します。

読み込み中…

使い方と仕様

ブラウザの JavaScript が実際に使う RegExp でそのまま実行します。そのため、PCRE(PHP や Perl)や Python の re とは構文が一部違います。たとえば後読み (?<=…) は使えますが、再帰や所有量指定子(a++)、(?i) 単独の形のインラインフラグは使えません。ほかの言語向けのパターンを試すときは、この差に気をつけてください。

フラグは g(すべてのマッチ)、i(大文字小文字を区別しない)、m(^ $ を行ごとに)、s(. が改行にも一致)、u(Unicode)を選べます。g を外すと最初のマッチだけを調べます。空文字にマッチするパターン(a* など)は、1文字ずつ進めて無限ループを避けており、マッチは最大1,000件までで打ち切って警告を出します。置換文字列では $1、$<名前>、$& が使えます。

入力のたびに実行するため、(a+)+ のような入れ子の量指定子に長い文字列を当てると、ブラウザが固まるほど時間がかかることがあります(破滅的バックトラック)。固まったときはタブを閉じてください。

よくある質問

u フラグをつけたらエラーになりました。
u をつけると、構文上の意味がない文字のエスケープ(\_ や \@ など)が文法エラーになります。不要なバックスラッシュを外すか、u を外してください。u をつけると \p{Script=Hiragana} のような Unicode プロパティや、絵文字などのサロゲートペアを1文字として扱えます。
マッチが1件しか出ません。
g フラグがオフになっていないか確認してください。g がないと最初の1件だけを調べます。

関連ツール