正規表現テスター
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件だけを調べます。