正規表現をテストする

フラグ

マッチ一覧

置換プレビュー



    

正規表現でブラウザが固まる理由

正規表現の中には、入力によって非常に多くのマッチ候補を試すものがあります。 特に繰り返しが入れ子になった式では、処理時間が急激に増えることがあります。

このツールでは正規表現の実行を Web Worker に分離しています。 処理が長引いた場合はメインスレッドから Worker を終了し、ページ全体が固まることを避けます。

キャプチャグループの使い方

正規表現を括弧で囲むと、マッチ全体とは別に、その部分にマッチした文字列を キャプチャグループとして取得できます。

置換文字列では番号付きグループを $1 のように参照できます。 名前付きグループは $<name> の形式で参照できます。

フラグの意味

  • g — すべてのマッチを探します。
  • i — 大文字小文字を区別しません。
  • m — ^ と $ を行ごとに扱います。
  • s — . が改行にもマッチします。
  • u — Unicode として扱います。
  • y — 前回のマッチ位置から続けて探します。

特に g と m は役割が異なります。 g は複数のマッチを探すための指定で、 m は行頭・行末を判定する ^ と $ の扱いを変えます。

よくある誤り

  • 正規表現そのものの記号と、JavaScript の文字列内でのエスケープを混同する。
  • 貪欲な量指定子によって、想定より長い範囲にマッチする。
  • 括弧や文字クラス [ ] を閉じ忘れる。
  • 量指定子 * + ? を不適切な位置に置く。