オンライン正規表現テスター&デバッガー:開発者向けの無料ツール
正規表現 (Regex) は、パターン マッチングやテキスト操作のための非常に強力なツールです。しかし、正しく記述するのが非常に難しいことでも知られています。文字が 1 つ欠けていたり、フラグが間違っていたりするだけで、スクリプトが動作するかどうかが決まってしまいます。当サイトのオンライン正規表現テスターは、正規表現をテスト、デバッグ、洗練するための無料のリアルタイム環境を提供することで、この問題を解決するように設計されています。
クイック スタート:今すぐ正規表現をテスト
👉 当サイトの 正規表現テスター を使用して、パターンを即座に検証します。マッチングとグループに関するリアルタイムのフィードバックを取得します。
正規表現 (Regex) とは?
正規表現は、検索パターンを形成する文字列のシーケンスです。文字列のマッチング、検索、およびテキストの置換に使用できます。正規表現は、JavaScript、Python、PHP、Java、C# など、ほぼすべてのプログラミング言語でサポートされています。
基本的な構文は言語間で似ていますが、「フレーバー」と呼ばれる微妙な違いがあります。当サイトのオンライン ツールは、主に Web 開発の標準であり、他の現代的なエンジンと高い互換性を持つ JavaScript 正規表現エンジンを使用しています。
正規表現フラグの理解
フラグは、正規表現の解釈方法を変更します。当サイトのツールは、以下の標準フラグをサポートしています。
- g (Global): 最初のマッチで停止せず、すべての出現箇所を検索します。
- i (Ignore Case): 大文字と小文字を区別せずにマッチングします(例:
[A-Z]はa-zにマッチします)。 - m (Multiline):
^と$が文字列全体だけでなく、各行の先頭と末尾にマッチするようにします。 - s (DotAll):
.が改行文字にマッチすることを許可します。 - u (Unicode): パターンを Unicode コード ポイントのシーケンスとして扱います。
- y (Sticky): lastIndex プロパティで示されたインデックスからのみマッチングします。
正規表現チートシート:一般的なパターン
使い始めるのに役立つ、最も一般的な正規表現パターンのクイック リファレンス テーブルを以下に示します。
| パターン | 意味 | 例 |
|---|---|---|
. |
改行以外の任意の 1 文字 | h.t は hat, hot にマッチ |
\d |
任意の数字 (0-9) | \d\d は 22 にマッチ |
\w |
任意の単語構成文字(英数字 + アンダーバー) | \w+ は word_1 にマッチ |
\s |
任意の空白文字(スペース、タブ、改行) | \s は にマッチ |
^ |
文字列の先頭 | ^Hello |
$ |
文字列の末尾 | world$ |
* |
0 回以上の繰り返し | lo* は l, lo, loo にマッチ |
+ |
1 回以上の繰り返し | lo+ は lo, loo にマッチ |
? |
0 回または 1 回の出現 | colou?r は color, colour にマッチ |
[abc] |
括弧内の任意の文字 | [bt]at は bat, tat にマッチ |
(abc) |
キャプチャ グループ | `(red |
実用的な例とユースケース
1. メアドのバリデーション
基本的なメール バリデーションの正規表現は次のようになります。
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2. 電話番号のマッチング
標準的な米国の電話番号形式 (xxx-xxx-xxxx) の場合:
^\d{3}-\d{3}-\d{4}$
3. URL の抽出
テキスト ブロック内のすべての URL を見つけるには:
https?:\/\/[^\s$.?#].[^\s]*
オンライン正規表現テスターの使い方
- パターンを入力: 「Pattern」フィールドに正規表現を入力します。
- フラグを選択: 必要に応じて
g、i、mなどのフラグを切り替えます。 - テスト テキストを入力: 検索したいテキストを「Test String」フィールドに貼り付けます。
- 結果を確認: マッチした箇所がリアルタイムでハイライトされ、キャプチャ グループの詳細を確認できます。
よくある質問 (FAQ)
Q: コード内で正規表現がマッチしないのはなぜですか?
A: 正しい「フレーバー」の正規表現を使用しているか確認してください。ほとんどの構文は共通していますが、「戻り読み (lookbehind)」や特定の文字クラスなどの機能は、Python と JavaScript で動作が異なる場合があります。また、文字列リテラル内でバックスラッシュを適切にエスケープしていることを確認してください(例: Java では \d ではなく \\d が必要な場合が多いです)。
Q: * と + の違いは何ですか?
A: * は 0 回以上 マッチします。つまり、直前の文字はオプションです。+ は 1 回以上 マッチします。つまり、その文字は少なくとも 1 回出現する必要があります。
Q: リテラルのドット . にマッチさせるにはどうすればよいですか?
A: ドットは正規表現の特殊文字(「任意の文字」を意味する)であるため、バックスラッシュでエスケープする必要があります: \.。
結論
正規表現をマスターするのは道のりですが、適切なツールがあればはるかに簡単になります。当サイトのオンライン正規表現テスターは、自信を持って複雑なパターンを構築するために必要な明快さとフィードバックを提供します。
パターンのデバッグを始める準備はできましたか?今すぐ正規表現テスターを試す!