正規表現テスター
正規表現をテスト・検証します
パターンとテスト用テキスト
入力を一時的に止めると一致結果が更新されます。データはこのデバイス内に留まります。
よく使うパターン
正規表現のヒント
単語全体だけに一致させるには、単語境界を表す\bを使用してください。
?は量指定子を非貪欲にします(できるだけ少ない文字数に一致します)。
括弧()でキャプチャグループを作成し、一致した部分を抽出できます。
(?:...)は、キャプチャせずにまとめる非キャプチャグループを作成します。
^と$は文字列の先頭と末尾に一致します(mフラグでは行の先頭と末尾)。
誤検出を避けるため、さまざまな入力で正規表現を十分にテストしてください。
一致 0
パターンを入力すると一致結果が表示されます。
ハイライトされたテキスト
パターンの説明
パターンの構成要素がここに表示されます。
正規表現テスターについて
この正規表現テスターは、正規表現を書き、テストし、デバッグできる無料のオンラインツールで、結果が即座に視覚的に表示されます。正規表現(regex)は、ほぼすべてのプログラミング言語でテキストの検索、検証、加工に使われる強力なパターンマッチングの記述です。このツールなら、パターンを気軽に試して、結果をすぐに確認できます。
このテスターは、マッチのハイライト、キャプチャグループの確認、位置の追跡、パターンの自動説明を備えた、完全な正規表現の開発環境です。正規表現パターンを入力するたびに、テスト文字列内のすべてのマッチを即座にハイライトし、グループやインデックスを含む詳細なマッチ情報を表示して、パターンの各要素が何をするのかを説明します。
フォーム検証ルールの作成、ログファイルの解析、テキストからのデータ抽出、初めての正規表現の学習など、どんな場面でも、このツールにはメールアドレス、電話番号、URL、IPアドレス、日付、HTMLタグ、クレジットカード、16進カラーなどのよく使う正規表現パターンの内蔵ライブラリがあります。プリセットをワンクリックで読み込めば、仕組みを調べたり、独自のパターンの出発点として使ったりできます。
主な機能
- 入力と同時に即座にマッチをハイライトするリアルタイムのパターンテスト
- テスト文字列内のすべてのマッチを直接視覚的にハイライト
- 位置インデックスとマッチしたテキストを含む詳細なマッチ情報
- 各グループの内容を個別に表示するキャプチャグループ表示
- JavaScriptのすべての正規表現フラグに対応:グローバル、大文字小文字を無視、複数行、dotall、Unicode、スティッキー
- 正規表現の構成要素を分解するパターンの自動説明
- サンプルのテスト文字列付きで、よく使う正規表現パターンを10個収録したライブラリ
- すべてのマッチをワンクリックでクリップボードにコピー
- 無効な正規表現の構文に対する明確なエラーメッセージ
- 複雑なパターンでも快適に動作するデバウンス付き入力
正規表現テスターの使い方
- パターンを入力:パターン入力欄に正規表現を入力します。パターンは標準的な正規表現の表記に従い、スラッシュ(/ /)の間に表示されます。
- フラグを設定:フラグボタンをクリックして、グローバル(すべてのマッチを検索)、大文字小文字を無視、複数行、Dotall、Unicode、スティッキーなどのオプションを切り替えます。
- テストテキストを追加:正規表現を試したいテキストを、テスト文字列エリアに貼り付けるか入力します。プリセットパターンを読み込んで、すぐに始めることもできます。
- マッチを確認:「マッチ」パネルには、各マッチのテキスト内容、位置インデックス、キャプチャグループが表示されます。「ハイライトされたテキスト」パネルでは、テスト文字列内のマッチを視覚的に確認できます。
- 説明を読む:「パターンの説明」パネルが正規表現の構成要素を分解し、パターンの各部分が何をしているかの理解に役立ちます。
- 結果をコピー:「すべてコピー」をクリックすると、すべてのマッチ結果がクリップボードにコピーされ、ドキュメントやさらなる分析に使えます。
活用例
- フォーム検証:アプリケーションコードに実装する前に、メールアドレス、電話番号、郵便番号、URL、独自形式の入力検証パターンを作成してテストします。
- ログファイルの解析:サーバーログやアプリケーション出力から、タイムスタンプ、エラーコード、IPアドレス、構造化データを抽出する正規表現パターンを開発します。
- データ抽出:HTMLページ、CSVファイル、プレーンテキスト文書など、構造化されていないテキストから特定のデータを取り出すパターンを作成します。
- 検索と置換:コードベースやテキストエディターに適用する前に検索・置換パターンをテストし、意図しない変更を防ぎます。
- データ検証:クレジットカード番号、日付、IPアドレス、16進カラーなどのデータフィールドが、想定される形式に合致しているかを確認します。
- 正規表現の学習:プリセットを読み込んで変更し、変更がマッチにどう影響するかをリアルタイムで観察しながら、よく使うパターンの仕組みを学びます。
- コードレビュー:コードレビューで見つけた正規表現パターンをテストして、その動作を理解し、エッジケースが正しく処理されるかを確認します。
- コンテンツのフィルタリング:コンテンツのモデレーション、キーワード検出、テキスト分類システムのためのパターンを作成します。
よくある質問
このツールは無料ですか?
はい、この正規表現テスターは完全無料で、テストできるパターンの数に制限はありません。登録や購読も不要です。
データは安全ですか?
もちろんです。正規表現のテストはすべてJavaScriptを使ってブラウザー内だけで行われます。パターンやテスト文字列がサーバーに送信されたり、どこかに保存されたりすることはありません。データは端末上で完全にプライベートに保たれます。
このツールはどの正規表現のフレーバーを使っていますか?
このツールはJavaScriptネイティブのRegExpエンジンを使っており、ECMAScriptの正規表現構文に対応しています。ここでテストしたパターンは、JavaScript、TypeScript、その他のECMAScript互換環境でそのまま動作します。
各フラグは何を意味しますか?
グローバル(g)は、最初のマッチで止まらずにすべてのマッチを検索します。大文字小文字を無視(i)は、大文字と小文字を区別せずにマッチさせます。複数行(m)は、^と$を行頭と行末にマッチさせます。Dotall(s)は、ドットが改行にもマッチするようにします。Unicode(u)は、Unicodeの完全なサポートを有効にします。スティッキー(y)は、前回のインデックス位置からマッチさせます。
作成した正規表現は他のプログラミング言語でも動作しますか?
基本的な正規表現の構文はほとんどの言語で共通ですが、後読み、名前付きグループ、フラグなどの高度な機能には違いがあります。ここでテストしたパターンはJavaScriptでの動作が保証されています。他の言語では、わずかな調整が必要な場合があります。
キャプチャグループとは何ですか?
キャプチャグループとは、正規表現パターンのうち丸括弧()で囲んだ部分のことです。マッチしたテキストを取り込み、個別に参照できます。このツールは、マッチ詳細パネルに各グループの内容を表示します。
ヒントとベストプラクティス
- シンプルに始めて積み上げる:必要なものの一部にマッチする基本的なパターンから始め、目的のデータを過不足なく捉えられるまで少しずつ複雑にしていきます。
- 単語境界(\b)を使う:パターンを\bで囲むと、単語全体にだけマッチし、長い単語の一部へのマッチを避けられます。
- 最短一致の量指定子を優先:最長ではなく可能な限り短い文字列にマッチさせたいときは、*や+ではなく*?や+?を使います。
- エッジケースをテスト:空文字列、特殊文字、非常に長いテキストなど、想定外の入力で必ず正規表現をテストして、堅牢な動作を確認します。
- 非キャプチャグループを使う:選択のためにグループ化が必要でも結果を取り込む必要がないときは、(?:...)を使うとパフォーマンスが向上します。
- プリセットを読み込んで学ぶ:内蔵のよく使うパターンを学習用の例として使います。変更して、マッチへの影響を観察すれば、理解が深まります。