正規表現テスター
フラグ
キャプチャグループには $1、$2 を、マッチ全体には $& を使います。
| 番号 | 位置 | マッチ | グループ |
|---|
このテスターはブラウザー自身の JavaScript エンジンで動くため、方言は ECMAScript です。PCRE や Python、.NET 向けに書かれたパターンは挙動が異なることがあります。特に後読み、アトミックグループ、強欲量指定子、Unicode プロパティエスケープで違いが出ます。
この正規表現テスターでできること
正規表現は書くのは簡単でも、正しいと確信するのは難しいものです。このページは、あなたのパターンが自分のテキストで実際に何にマッチし、どのグループを捕まえ、置換すると何ができるのかを見せます。そのパターンが本番データに近づく前に。
使い方
- 1 スラッシュの間にパターンを入力し、必要なフラグにチェックを入れます。
- 2 その下に実際のテキストを貼り付け(雑然としているほど良いです)、「実行」を押します。
- 3 ざっと確認するにはハイライト表示、捕獲したグループを見るには表、書き換えを試すには置換文字列を入力します。
パターンを別のワーカーで動かす理由
爆発するパターンがあります。(a+)+$ のような入れ子の量指定子は、ほぼ一致する文字列に対して天文学的な数の経路を試させ、しかも走り出した正規表現は起動したページ側から中断できません。ワーカーで動かせば2秒後に終了させられるので、悪いパターンの代償は固まったタブではなくメッセージ1つで済みます。
早見表
| \d | 数字1文字 |
| \w | 英数字またはアンダースコア |
| \s | 任意の空白文字 |
| . | 改行以外の任意の1文字 |
| ^ $ | テキストの先頭と末尾 |
| * + ? | 0回以上、1回以上、0か1回 |
| {2,5} | 2回から5回 |
| (...) | キャプチャグループ、$1 で参照 |
| (?<ad>…) | 名前付きグループ、長いパターンで読みやすい |
| [a-z] | 集合の中の任意の1文字 |
| a|b | 左辺か右辺のどちらか |
| \b | 単語境界、文字自体には一致しない |
方言は重要
ここで動くパターンがサーバー側のコードでは動かないことも、その逆もあります。JavaScript と PCRE、Python、.NET は対応範囲が違い、同じ書き方の意味が異なる場合もあります。実際に配備する方言でテストしてください。ブラウザーで動かすものについては、このページが適切な場所です。
間違いの多くはグループに潜む
マッチ自体は正しいのに捕獲がずれている、というのはよくあります。ある組が任意指定で undefined になっていたり、括弧が1つ動いたせいで2つの組が入れ替わっていたりします。表は各マッチの各グループを横並びで示すので、$2 が思っていたものでないと気付く一番早い方法になります。
入力した内容はどこにも送信されません
テスト用テキストが作り物であることはめったにありません。ログ行や顧客情報、支払い参照番号を貼り付けて、パターンが拾えるか確かめます。パターンもテキストもページ内に留まるので、実データで試すことは、そのデータを誰かに渡すことにはなりません。