無料オンライン正規表現テスター
リアルタイムハイライトで正規表現をテスト・デバッグします。
Who uses the 正規表現テスター?
- デプロイ前に入力検証パターンを作成・テストするバックエンド開発者。
- ログ解析、データ抽出、フィールド検証のための正規表現を書くデータエンジニア。
- テスト文字列への即座の視覚的フィードバックで正規表現を学ぶ学生。
How the 正規表現テスター works
Regexフィールドに正規表現パターンを入力します(スラッシュは不要)。
フラグを設定します:g(グローバル)、i(大文字小文字を区別しない)、m(複数行)、s(dotall)。
下のテキストエリアにテスト文字列を入力すると、すべての一致が即座にハイライトされます。
各一致とそのキャプチャグループを表示するマッチテーブルを確認します。
Tips & tricks
- 最初の一致だけでなくすべての一致を見るには、gフラグをオンのままにしておきましょう。
- 日付やメールアドレスなどの構造化データを抽出するには、パターン内の括弧によるキャプチャグループを使いましょう。
- 空文字列や特殊文字などの境界ケースは早めにテストしましょう——正規表現の動作は境界でしばしば予想外のものになります。
- mフラグは^と$の挙動だけを変えます——.が改行にマッチするようにはなりません。それはsフラグの役割です。
Frequently Asked Questions
正規表現でメールアドレスのようなパターンにマッチさせるには?
簡単なメール用正規表現:[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}。これをregexフィールドに貼り付け、メールアドレスでテストしてください。RFC 5322に準拠するすべてのメール形式を完璧に検証できる単一の正規表現は存在しません。
正規表現フラグg、i、m、sはそれぞれ何を意味しますか?
g = グローバル(最初の一致だけでなくすべての一致を検索)。i = 大文字小文字を区別しない。m = 複数行(^と$が文字列全体ではなく各行の先頭・末尾にマッチ)。s = dotAll(.が改行文字にもマッチ)。
キャプチャグループの使い方は?
パターンの一部を括弧で囲むとグループになります:(\d{4})-(\d{2})-(\d{2})は日付から年・月・日をキャプチャします。グループはハイライトされたテキストの下のマッチテーブルに表示されます。
貪欲な量指定子と怠惰な量指定子の違いは?
「貪欲」な量指定子(*、+、{n,})はできるだけ多くマッチしようとします。「怠惰」な量指定子(*?、+?、{n,}?)はできるだけ少なくマッチしようとします。HTMLの場合、<.*>(貪欲)は最初の<から最後の>までマッチし、<.*?>(怠惰)は各タグを個別にマッチします。
Pythonスタイルの正規表現(reモジュール)をテストできますか?
このツールはJavaScriptの正規表現構文を使用しており、Pythonのreモジュールに似ていますが同一ではありません。主な違い:Pythonは名前付きグループに(?P<name>...)を使いますが、JavaScriptは(?<name>...)を使います。Pythonには\Aと\Zがあり、JavaScriptは^と$を使います。
Is my data safe when using the 正規表現テスター?
Completely safe. The 正規表現テスター processes everything locally in your browser. No input data, results, or usage information is ever transmitted to or stored on any server.
Can I use the 正規表現テスター output in commercial projects?
Yes. The 正規表現テスター is a utility tool and its output carries no licensing restrictions. You are free to use results in any project, commercial or personal.
Does the 正規表現テスター follow official standards?
Yes. The 正規表現テスター is built to comply with the relevant industry standard or specification for this utility type. If you encounter an unexpected result, verify your input against the specification — edge cases outside the standard may produce undefined behaviour.