正規表現テスター

マッチをその場でハイライト。グループ・置換プレビューつき(JavaScript方言)

置換プレビュー

※ 処理はすべてブラウザ内。テスト文字列はどこにも送信されません。
方言はJavaScript(ECMAScript)です。PCRE固有の記法(\A、(?P<name>)等)は動きません。

正規表現テスターとは

書いた正規表現が意図どおりにマッチするかを、実際の文字列で確かめるためのツールです。エディタで書いて実行して確認して、を繰り返すよりその場でハイライトを見ながら直すほうが圧倒的に速く済みます。当ツールはブラウザのRegExpをそのまま使うので、JavaScript(ECMAScript)方言のコードと完全に同じ挙動になります。

フラグの意味

  • g/全件を対象にする。付けないと最初の1件だけがマッチ・置換されます
  • i/大文字と小文字を区別しない
  • m/^と$を行ごとの先頭・末尾として扱う
  • s/.(ドット)が改行にもマッチするようになる
  • u/Unicodeとして扱う。絵文字や結合文字を正しく数えたいとき

つまずきやすいところ

貪欲マッチ.* は行末まで飲み込みます。タグの中身だけ取りたいときは .*? のように最短マッチにします。エスケープ. * + ? ( [ { | ^ $ \\ は特別な意味を持つので、文字として使うなら前にバックスラッシュが要ります。日本語/文字クラスで扱うなら u フラグを付けたうえで [ぁ-んァ-ヶ一-龠] のような範囲指定になります。マッチ一覧では各キャプチャグループの中身も確認でき、名前付きグループにも対応しています。

置換のプレビュー

置換文字列に $1 $2 と書くとキャプチャグループを参照できます。置換後の姿をその場で確認してからコピーできるので、本番のデータに当てる前に安全を確かめられます。ログから値を抜き出す作業ならUNIXタイムスタンプ変換、構造化されたデータならJSON整形・検証、単純な整形で済むならテキスト整形のほうが早いこともあります。置換の前後でどこが変わったかを行単位で確かめたいときはテキスト差分に貼ると一目で分かります。貼り付けた文字列は送信されません。

💻 正規表現テスターの使い方(3ステップ)

  1. パターンを書く — 正規表現とフラグ(g・i・m・s・u)を入力します。
  2. 文字列を貼る — テスト文字列を入れると、マッチ箇所が即ハイライトされます。
  3. 置換も確認 — 置換文字列($1でグループ参照)を入れると置換後の姿をプレビュー→コピーできます。

よくある質問

どの正規表現の方言ですか?

JavaScript(ECMAScript)です。ブラウザのRegExpをそのまま使うので、JS・TypeScriptで書くコードと完全に同じ挙動を確認できます。

グループの中身は確認できますか?

はい。マッチ一覧に各キャプチャグループ($1, $2…)の中身を表示します。名前付きグループ(?<name>)にも対応。

gフラグを付けないとどうなりますか?

最初の1件だけがマッチ・置換されます。全件対象にしたいときはフラグ欄に g を入れてください。