正規表現テスター
リアルタイムで正規表現のマッチング・グループ・置換をテスト
正規表現
//
テスト文字列
0 文字
マッチ結果
正規表現とテスト文字列を入力してください
置換
サンプルパターン
正規表現テスターの使い方
- 正規表現パターンを入力
/と/の間にパターンを入力します。例:メールアドレスを検出するなら[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - フラグを設定
g(全マッチ)、i(大文字小文字無視)、m(複数行)などのフラグをクリックで切り替えます。 - テスト文字列を入力して結果を確認
テスト文字列欄にテキストを入力すると、マッチ箇所がリアルタイムでハイライト表示されます。各マッチのインデックス位置、キャプチャグループ、名前付きグループも一覧で確認できます。
- 置換機能でテスト
「置換」セクションをONにし、置換パターンを入力すると置換結果をプレビューできます。
$1,$2でキャプチャグループを参照できます。
よくある質問(FAQ)
Q. このツールはどの正規表現エンジンに対応していますか?
JavaScriptの正規表現エンジン(ECMAScript仕様)に準拠しています。ブラウザのネイティブRegExpオブジェクトを使用するため、Node.jsやブラウザ上のJavaScriptコードと同じ動作になります。後方参照、先読み・後読み、名前付きグループにも対応しています。
Q. 正規表現で日本語テキストをマッチできますか?
はい。Unicodeフラグ(u)を有効にすると、ひらがな・カタカナ・漢字などのUnicode文字を利用できます。例えば[ぁ-ん]+でひらがな、[ァ-ヴ]+でカタカナをマッチできます。
Q. キャプチャグループと名前付きグループの違いは?
キャプチャグループ(pattern)は$1, $2で番号参照します。名前付きグループ(?<name>pattern)は意味のある名前で参照でき、コードの可読性が向上します。
Q. 正規表現のパフォーマンスを改善するには?
貪欲マッチ(.*)の代わりに非貪欲マッチ(.*?)を使う、具体的な文字クラスを使う、不要なキャプチャグループを非キャプチャ((?:pattern))にするなどが有効です。このツールで各パターンのマッチ件数と動作を確認しながら最適化できます。
よく使う正規表現構文
| 構文 | 説明 | 例 |
|---|---|---|
| . | 任意の1文字(改行を除く) | a.c → abc, aXc |
| \d | 数字 [0-9] | \d+ → 123, 45 |
| \w | 英数字とアンダースコア | \w+ → hello_123 |
| \s | 空白文字 | a\sb → a b |
| * | 0回以上の繰り返し | ab* → a, ab, abb |
| + | 1回以上の繰り返し | ab+ → ab, abb |
| ? | 0回または1回 | colou?r → color, colour |
| {n,m} | n回以上m回以下 | \d{2,4} → 12, 123, 1234 |
| () | キャプチャグループ | (\d+)-(\d+) → $1, $2 |
| (?<name>) | 名前付きグループ | (?<year>\d{4}) |
| | | OR(選択) | cat|dog → cat, dog |
| ^ | 行の先頭 | ^Hello |
| $ | 行の末尾 | world$ |
| (?=) | 肯定先読み | \d(?=px) → 1 in 1px |
| (?!) | 否定先読み | \d(?!px) → 1 in 1em |