テスト文字列を入力すると、マッチがハイライト表示されます。
マッチなし。
この正規表現を破滅的バックトラックと RE2 互換性の観点から批判し、妥協点を示した上でより厳密な版を提案してください: `//gi` 見つかった一致: (none)
機能の説明
JavaScript 正規表現を任意のテキストに対して、タイプするそばからライブにテストします。パターンを入力し、6 つのフラグ(g global、i ignore case、m multiline、s dotAll、u unicode、y sticky)を任意に切り替えると、ツールはすべてのマッチをインデックスとキャプチャグループ付きでリスト表示し、テスト文字列内のすべてのヒットをハイライトし、コピーできる構築済みの /pattern/flags リテラルを表示します。
あなたのエンジンのネイティブな RegExp を使います - コードが得るのと同じセマンティクスです - そして不正なパターンは、汎用の失敗メッセージではなく、エンジン自身のエラーメッセージ(例: missing terminating ] for character class)で報告します。マッチングは 2,000 件で打ち切られ、ゼロ幅マッチは検出されて細いマーカーとして表示されるため、ループがハングすることはありません。100% ブラウザー内で動作します。
使い方
- ツールバーのプリセット - Email、URL、Date、Hex color、Capture - をクリックして、既製のパターン・フラグセット・サンプルテキストを読み込みます。各プリセットは 6 つのフラグすべてを明示的に設定するため、プリセットを切り替えても古いフラグが残りません。
- Pattern フィールドにパターンを入力します(
/デリミタの間に表示され、有効なフラグがライブで付加されます)。セクションヘッダーの Copy をクリックすると、完全な/pattern/flagsリテラルがコピーされます。 - 6 つの Flags を任意に切り替えます。各トグルは名前と 1 行のヒントを表示します(例:
sdotAll - “. also matches newlines”)。デフォルトはg+iです。 - Test string にテキストを入力または貼り付けます - 行ラベルにライブのマッチ数が表示されます。
- Match preview を確認します: すべてのヒットが枠で囲まれ、長さゼロのマッチは細いバーとして表示されるため、どこに位置するかがわかります。
- Matches を読みます: マッチごとに 1 枚のカードに
#n @ index、マッチしたテキスト、参加しなかったグループには(undefined)を付けた各キャプチャグループ([1]、[2]、…)。 - Clear(ツールバー)をクリックすると、パターン・フラグ・テスト文字列をワンタップでリセットします。
- 出力の下のプロンプトバーは、ライブの値から構築されたプリフィル済み AI プロンプトをコピーします - Critique & improve(パターンを破壊的バックトラッキングについて検査)または Generate Python tests(現在のマッチから
reの単体テストを生成)。
例
内蔵プリセットに対して、ツールの正確なマッチングループ(アイランドと同じ RegExp 構築と exec ウォーク)を実行して検証済みです:
Email プリセット /[\w.+-]+@[\w-]+\.[\w.]+/gi を Contact ada@example.com or bob@test.co.uk today. に:
1. "ada@example.com" @ 8
2. "bob@test.co.uk" @ 27
Capture プリセット /(\w+)@(\w+)/g を ada@example bob@test に - マッチごとにグループを表示:
1. "ada@example" @ 0 → [ada, example]
2. "bob@test" @ 12 → [bob, test]
Hex color プリセット /#(?:[0-9a-f]{3}|[0-9a-f]{6})\b/gi を Brand #3b82f6, accent #38BDF8, short #fff. に:
1. "#3b82f6" @ 6
2. "#38BDF8" @ 22
3. "#fff" @ 37
g フラグなし - 最初のマッチのみ報告されます。パターン /\d{4}-\d{2}-\d{2}/ を Shipped 2026-08-15, due 2026-09-01. に → 1. "2026-08-15" @ 8(g があれば両方の日付がマッチ: @ 8 と @ 24)。
ゼロ幅パターン /\b/g を ab に → @ 0 と @ 2 の 2 つの空マッチ。プレビューには細いマーカーとして表示されます。
補足事項
- プライベート: マッチングは完全にブラウザー内で実行されます。貼り付けたものがアップロードされることはありません。
- 方言は ECMAScript(
RegExp)です。後読み、名前付きグループ、uモードのプロパティは、ブラウザーが対応していれば動作します - ツールはその上に何も課しません。 y(sticky)フラグはマッチをlastIndexから開始させるため、テキストが揃うまで sticky パターンはしばしばゼロマッチになります - それはバグではなく、フラグの正常な動作です。- 空のテスト文字列ではプレビューの代わりにヒントが表示されます。不正なパターンでもテキストは表示されたまま、その下にエンジンのエラーが示されます。
- 関連ツール: Regex Explainer、Find & Replace、Text Diff Viewer