正規表現テスター・ビジュアライザー|マッチ検査&コード生成
正規表現パターンの動作確認とデバッグを行う開発者向けツールです。入力したパターンとテスト文字列を評価し、マッチ箇所のハイライト表示と複数言語(JavaScript、Python、Go)での実装コードを生成します。
💡 ツール概要
本ツールは、正規表現の構築から実際のコード組み込みまでのワークフローをシームレスに繋ぎます。
- 視覚的フィードバック テスト文字列エリア(最小高さ200px)内で、マッチした箇所が専用のカラーパレット(rgba値によるハイライト)で色分けされます。
- マッチ詳細とインデックスの抽出 マッチした総数に加え、各マッチの開始位置(index番号)とキャプチャグループ(Group 1〜)の抽出結果を個別にリスト表示します。
- マルチ言語コードスニペット生成
構築したパターンとフラグを元に、JavaScript(
match/matchAll)、Python(reモジュール)、Go(regexpパッケージ)の実装コードを動的に生成します。
🧐 よくある質問
Q. マッチ結果に表示される「index」はどのように評価すべきですか?
A. indexは、対象文字列の先頭を「0」とした際の文字の位置(0ベースのオフセット)を示します。文字列の切り出し(スライス処理)など、マッチ位置を基準にした後続のテキスト処理を実装する際の正確な座標としてそのまま利用してください。
Q. 利用可能なフラグ(Flags)の仕様を教えてください。
A. UI上のトグルボタン、または入力欄から直接 g (Global), i (Case Insensitive), m (Multiline), s (DotAll), u (Unicode) を組み合わせて指定できます。これらはJavaScriptのRegExp仕様に準拠して評価されます。
Q. 生成されるGoやPythonのコードでは、パターンはどのように処理されますか?
A. 選択した言語の仕様に合わせて自動調整されます。例えばGoを選択した場合、iやmなどのフラグはインライン修飾子 (?im) としてパターンの先頭に付与され、Pythonの場合は re.IGNORECASE | re.MULTILINE のようにコンパイル時の引数として展開されます。
📚 正規表現のブラウザ評価とエスケープ処理
このツールはJavaScriptの組み込みAPIであるRegExpのexec()ループ等を利用してブラウザ内で完結する評価を行っています。そのため、動作基準は常にモダンブラウザのJavaScriptエンジンに依存します。
コード生成機能(JS / Python / Go)を利用する際、バックスラッシュ(\)や引用符などのエスケープ処理は各言語の標準的な文字列表現に合わせて最適化されます。例えばGoの出力では、不要なエスケープ地獄を避けるためにバッククォート(\``)を用いたraw文字列リテラル形式でフォーマットされ、Pythonではr'...'` の形式が採用されています。これにより、ブラウザ上でテストしたパターンをそのままプロダクションコードに組み込めるよう設計されています。