日本語ツール一覧 / 正規表現テスター — パターンの意味を分解して解説English version →

正規表現テスター — パターンの意味を分解して解説

「正しそう」な正規表現は、マッチしすぎたり、足りなかったり、最悪の場合サービスを止めたりします(破滅的バックトラッキング)。このテスターはフィードバックループを一瞬に縮めます。パターンを打つと同時にマッチがハイライトされ、\d の意味、各グループが捕捉する内容、量指定子の貪欲さまで、部品ごとの解説パネルが更新されます。

g・i・m・sフラグ対応、各マッチのキャプチャグループ(名前付き含む)表示、定番パターンのプリセット(メール、URL、IPv4、ISO日付、UUID)、パターンとテスト文字列をまとめて共有できるリンク生成を備えています。大きなテキストはWeb Workerで処理されるため、ページは固まりません。

使い方

  1. 正規表現パターンを入力(JavaScript構文)
  2. テスト文字列を貼り、ハイライトと解説パネルを確認
  3. 必要なフラグを有効にし、Copy share linkで一式を共有

よくある質問

この正規表現はPythonやJavaでもそのまま使えますか?
ほぼ使えますが、フレーバーごとに細部が違います(lookbehind、\p{...}、文字列内のエスケープ)。本番投入前に必ず対象エンジンでテストしてください。
最初のマッチしか見つからないのはなぜ?
gフラグ(global)がオフだからです。gなしでは検索もreplaceも最初の1件で止まります。
システムを固まらせるパターンとは?
重なり合う文字集合の上に量指定子を入れ子にしたもの、例えば (a+)+ です。ほぼマッチする長文に対してエンジンが指数的な組み合わせを試します(2019年のCloudflare全面障害の原因がまさにこれ)。.*? の代わりに [^x]+ のような否定文字クラスを使うのが安全です。