🔍
無料正規表現テスター
正規表現をテキストに対してリアルタイムでテストします。ハイライト表示されたマッチ、グループ、マッチの詳細を確認できます。
読み込み後はオフラインでも動作
//g
フラグ:
g グローバル - すべてのマッチを検索 · i 大文字と小文字を区別しない · m マルチライン - ^ と $ は行の境界にマッチ · s ドットオール - ドットが改行にマッチ · u Unicode - フル コードポイント マッチング · y スティッキー - 各マッチは前のマッチの終わりから開始
例:
マッチ
The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.上にパターンを入力するとここにマッチがハイライト表示されます。
主な用途
- フォーム検証用に Regex をテストメール、電話番号、郵便番号、その他のフォーム入力を検証するための正規表現を書いてテストします。
- Regex を使用してサーバー ログを解析ログ ファイルからタイムスタンプ、IP アドレス、エラー コード、構造化データを抽出する Regex パターンを書きます。
- Regex を使用してテキストを抽出して置換Regex を使用してパターンを検索し、データを抽出するか、エディターで実行する前に検索と置換操作を準備します。
- URL ルーティング パターンをテストExpress、Nginx、Apache の URL ルーティング ルール用に Regex パターンを書いてテストします。
- Regex を使用してデータを抽出非構造化テキスト、HTML、マークダウンから構造化データを抽出するパターンを構築してテストします。
使い方
このツールはJavaScript標準のRegExpエンジンを使ってブラウザ内で完全に動作します — これはあなたが訪れるすべてのWebサイトのすべてのスクリプトを動かしているのと同じエンジンです。パターン、テスト用テキスト、一致結果がサーバーに送信されることは一切ありません。
- 1パターンがRegExpにコンパイルされる入力すると、ツールは切り替えたフラグ(g、i、m、s、u、y)を使ってnew RegExp(pattern, flags)を呼び出します。パターンが構文的に無効な場合、キャッチされたエラーメッセージが即座にインライン表示されます — 送信ボタンは不要です。
- 2exec()ループがマッチを収集するエンジンはre.exec(text)をループ内で実行し、各マッチの文字インデックス、長さ、完全な値、番号付きキャプチャグループ、名前付きグループを記録します。10,000件のマッチという安全上限が暴走パターンを防ぎ、ゼロ長マッチのガードがlastIndexを進めて無限ループを回避します。
- 3テキストがハイライトされたスパンに分割されるbuildSegments関数がマッチのオフセットを走査し、ソーステキストを非マッチとマッチの交互のセグメントにスライスします。マッチしたスパンは循環する色でスタイル付けされた<mark>要素で囲まれるため、重なったり隣接したりするマッチも視覚的に区別できます。
- 4String.replaceによる置換モード置換モードに切り替えると、testText.replace(new RegExp(pattern, flags), replacement)が直接呼び出されます。これは$1や$<name>のようなバックリファレンスがJavaScriptコードとまったく同じように機能することを意味します。結果のテキストはライブで表示され、クリップボードにコピーできます。