正規表現テスター

正規表現は頭で考えるより試すほうが速く、しかもコードと同じエンジンで試すことが大事です。このページはブラウザに入っている JavaScript の正規表現エンジンを使うので、ここで一致するものはスクリプトでも一致します。一致箇所は文章の中で色分けされ、位置と取り出したグループが表に並び、$1 のような参照を含む置換も実行前に確かめられます。試す文章はたいてい実データなので、もう一度書いておきます。貼り付けたものはページの外に出ません。

正規表現を試す手順

  1. パターンを入力します。スラッシュの内側に書くとおりに入れてください。スラッシュとフラグは道具側で付けます。
  2. 必要なフラグを入れます。i は大文字小文字を無視、m は ^ と $ を行ごとに、s はドットが改行にも一致、u は Unicode モードです。
  3. 下に検索する文章を貼ります。入力するそばから一致箇所が色分けされ、表に各結果が開始位置と取り出したグループとともに出ます。
  4. 「置換を表示」を入れると置き換えを試せます。番号付きのグループは $1、$2 で、名前付きのグループは
    lt;名前> で参照します。

正規表現の確認についてよくある質問

どの系統の正規表現ですか?

JavaScript のものです。ブラウザのエンジンが直接パターンを走らせるためです。日常の用途では PCRE に近いものの、後読み・名前付きグループ・Unicode プロパティ表記は対応の経緯が異なり、PCRE が許す再帰や絶対最大量指定子はここには存在しません。

試した文章はアップロードされますか?

されません。パターンはページ内で、ページを離れない文章に対して走ります。ログの抜粋や顧客記録で試すときに知っておく価値があります。

文章の長さに制限があるのはなぜですか?

パターンによっては後戻りを繰り返して迷い込むからです。入れ子の量指定子が相性の悪い入力に当たると時間が指数的に伸びますが、ブラウザは走り出した正規表現を途中で止められません。入力に上限を置けば、まずいパターンがタブを固めるかわりに問題を見せられます。

なぜ 1,000 件で止まるのですか?

何万件もの色分けを描くとページが使えなくなるうえ、それ以上わかることもないからです。上限に達すると結果の上にそう書かれるので、一覧が一部だと分かります。

名前付きグループはどう表示されますか?

グループの欄にオブジェクトの形で出て、置換では

lt;名前> で参照できます。(?<year>\d{4}) のようなパターンなら、年を番号ではなくその名前で扱えます。

Other tools

Languages