正規表現テスター

正規表現のテストとマッチング結果を視覚化

正規表現パターンをリアルタイムでテストし、マッチング箇所を視覚的に確認できます。 フラグ設定やマッチ詳細の確認も可能な開発者向けツールです。

正規表現の設定

//

マッチ結果(一致した箇所)

入力待ち...

一致する箇所がありません

合計マッチ数0
文字列の長さ0
パターンの長さ0
有効なフラグg

正規表現 クイックリファレンス

文字

.任意の1文字
\d数字 (0-9)
\w単語構成文字
\s空白文字

量指定子(繰り返し)

*0回以上の繰り返し
+1回以上の繰り返し
?0回または1回
{n}ちょうどn回の繰り返し

アンカー(位置指定)

^行の先頭
$行の末尾
\b単語の境界
|いずれか(OR)

正規表現テスターの活用ガイド

正規表現(Regular Expression)は、文字列のパターンを表現する強力なツールです。本テスターを使用することで、複雑な正規表現の開発とデバッグを効率的に行えます。JavaScriptの正規表現エンジンをベースに、リアルタイムで結果を表示します。

1

正規表現パターンの入力

「Pattern」入力欄に正規表現を記述します。デリミタ(/ /)の間にパターンを書き、右側にはフラグ(g, i, mなど)を設定します。入力中、即座に構文チェックが行われます。

2

テスト文字列の準備

「Test String」エリアに、パターンがマッチするか試したいテキストを入力します。大規模なドキュメントやコードの一部などを貼り付けてテスト可能です。

3

結果の視覚的確認

「Visual Highlight」エリアで、パターンにマッチした箇所がハイライト表示されます。フラグ `g`(グローバル)が有効な場合は、すべてのマッチ箇所が強調されます。

4

マッチ詳細の分析

「Match Results」セクションで、各マッチの具体的な文字列、インデックス(開始位置)、およびキャプチャグループ(括弧 `()` で囲った部分)の内容を詳細に確認できます。

5

サンプルパターンの活用

ページ上部のボタンから、メールアドレス、URL、電話番号などのよく使われるパターンをワンクリックで読み込めます。これらをベースにカスタマイズするのが効率的です。

実際の使用例

CSVデータの解析

カンマ区切りのデータから特定の列を抽出

INPUT

id,name,email
1,田中,tanaka@example.com
2,佐藤,sato@example.com

OUTPUT

各行のメールアドレス部分にマッチ

HTMLタグの属性置換

特定の属性を持つタグを検索

INPUT

<a href="https://example.com" target="_blank">Link</a>

OUTPUT

hrefの内容をキャプチャグループで保持

よくある質問

フラグの「g」「i」「m」にはどのような意味がありますか?

「g」(global)は全マッチ検索(2番目以降も探す)、「i」(ignore case)は大文字小文字を区別しない、「m」(multiline)は `^` と `$` を各行の先頭と末尾に適用させるフラグです。

このテスターはどの言語の正規表現に基づいていますか?

ブラウザ上で動作しているため、JavaScript(ECMAScript)の正規表現エンジンに基づいています。他言語(Python, PHP, Javaなど)とは細かな仕様(後読み、名前付きグループなど)が異なる場合がありますが、基本的な構文は共通です。

正規表現が正しく動作しないのはなぜですか?

特殊文字(`?` `*` `+` `.` `[` `]` `(` `)`など)を通常の文字として扱いたい場合に、エスケープ(`\` を前に付ける)を忘れていることがよくあります。また、フラグの設定ミスも原因になります。

キャプチャグループの内容を確認できますか?

はい、マッチ詳細の「Groups」セクションに表示されます。`(pattern)` のように括弧で囲った部分が個別に抽出されるため、データの特定部分を抽出するスクリプトのテストに便利です。

パフォーマンスへの影響はありますか?

非常に複雑な正規表現(特にバックトラッキングが多く発生するもの)を巨大なテキストに対して実行すると、ブラウザが一時的にフリーズすることがあります。テストの際は少しずつパターンを構築することをお勧めします。

役立つTips

非キャプチャグループの使用

グループ化はしたいがキャプチャは不要な場合は `(?:pattern)` を使用してください。メモリ使用量を抑え、マッチング速度を向上させることができます。

最短一致(控えめなマッチ)

`*` や `+` はデフォルトで最長一致ですが、後ろに `?` を付けて `*?` や `+?` とすることで、最小限の範囲でマッチさせることができます。HTMLタグの抽出などに有効です。

エスケープの自動化

文字列を動的に正規表現に含める場合は、特殊文字をすべてエスケープする必要があります。本テスターでパターンを確認した後、コードに組み込む際は注意してください。

文字クラスの活用

単一の文字にマッチさせたい場合は `[a-z0-9]` のような文字クラスが便利です。否定の文字クラス `[^...]` も活用してパターンを簡潔にしましょう。

関連ツール