入出力データはサーバーに送信されず、どこにも保存されません。すべての処理はブラウザ上で完結します。

正規表現テスター

よく使うパターン クリックでパターンとサンプル文字列を読み込み
フラグ
マッチ結果 0 件のマッチ
マッチなし
パターン解説
パターンを入力すると解説が表示されます
クイックリファレンス
コードスニペット
パターンを入力するとコードが生成されます

使い方


正規表現パターンとフラグ(g: グローバル、i: 大文字小文字無視、m: 複数行、s: dotAll、u: Unicode)を入力します。テスト文字列を入力すると、マッチ結果がリアルタイムでハイライト表示されます。置換タブで文字列置換、下方にパターン解説・コードスニペット・クイックリファレンスもあります。

正規表現フラグ


g(グローバル)は最初のマッチだけでなく全マッチを検出。i(大文字小文字無視)は文字の大小を無視。m(複数行)は^と$が行の境界にマッチ。s(dotAll)は.が改行にもマッチ。u(Unicode)は完全なUnicodeマッチングを有効化。d(hasIndices)はキャプチャグループの開始・終了位置を提供。

活用シーン


  • フォームのバリデーション — メールアドレス、電話番号、郵便番号などの入力チェック
  • ログ解析 — エラーメッセージ、IPアドレス、タイムスタンプの抽出
  • テキスト置換 — 全角・半角の統一、不要な空白の削除、フォーマットの一括変換
  • スクレイピング — HTMLから特定のパターンを抽出(簡易な用途のみ。複雑な構造は専用パーサー推奨)
  • 検索とリファクタリング — エディタのプロジェクト全体検索で柔軟なパターンマッチング

よくある罠


  • カタストロフィック・バックトラッキング — `(a+)+` のような入れ子の量指定子は、入力長に対して指数時間かかることがあり、ReDoS(正規表現サービス拒否攻撃)の原因になります
  • 貪欲マッチと最短一致 — `.*` はデフォルトで貪欲(できるだけ長く)。`.*?` で最短一致に。HTMLタグの抽出などで挙動の違いに注意
  • ロケールと Unicode — `\w` は ASCII の英数字 + アンダースコアのみで、日本語や絵文字を含みません。Unicode 文字には `u` フラグと `\p{...}` プロパティを使用
  • 言語による方言 — JavaScript、Python、PCRE、Java で対応する機能や記法が微妙に異なります(後読みのサポート、再帰、条件分岐など)
  • アンカーの誤用 — `^` と `$` は `m` フラグなしでは文字列全体の先頭・末尾にしかマッチしません。各行の境界には `m` フラグが必要

プライバシー


すべての正規表現評価はJavaScriptのRegExpエンジンを使用してブラウザ内で完結します。パターンやテスト文字列がサーバーに送信・保存・記録されることは一切ありません。