正規表現テスター

リアルタイムマッチングで正規表現をテスト&デバッグ

パターンとテストテキストを入力してマッチを確認

. - 任意の文字
* - 0回以上
+ - 1回以上
? - 0回または1回
^ - 行の開始
$ - 行の終了
\d - 数字
\w - 単語文字
\s - 空白文字
[abc] - 文字クラス
(abc) - グループ
a|b - 選択

How to Use This Tool

1

正規表現の入力

入力フィールドに正規表現パターンを入力してください。ツールがリアルタイムで構文を検証します。

2

フラグの設定

グローバル(g)、大小文字区別なし(i)、複数行(m)などの正規表現フラグを選択してマッチング動作を変更します。

3

テストテキストの提供

パターンに対してテストしたいテキストを入力してください。マッチが自動的にハイライトされます。

4

マッチ結果の確認

すべてのマッチをその位置、キャプチャグループ、実行時間とともに確認します。

5

よく使うパターンの使用

メール、URL、電話番号の検証など、一般的な用途のプリセットパターンをクリックしてください。

Pro Tips

  • 「パターンとしてエスケープ」ボタンを使用して、テストテキストをリテラルにマッチする正規表現パターンに変換できます
  • パターン分析は複雑さを表示し、正規表現に含まれる内容を説明します
  • ハイライトされたマッチは、プレビューですべての結果をハイライトして表示します
  • 名前付きキャプチャグループはマッチ結果で別々に表示されます
  • クイックリファレンスパネルで一般的な正規表現構文を一目で確認できます
  • 実行時間は潜在的に遅い正規表現パターンを特定するのに役立ちます

パターンマッチングのための正規表現マスター

正規表現(regexまたはregexp)は、テキストの検索、検証、操作のためにプログラミング全体で使用される強力なパターンマッチングツールです。この正規表現テスターはリアルタイムパターンマッチングを提供し、開発者が複雑な表現をデバッグし、異なるフラグがマッチング動作にどのように影響するかを理解するのに役立ちます。ユーザー入力の検証、ログファイルの解析、テキストからのデータ抽出のいずれであっても、正規表現パターンの理解は現代のソフトウェア開発での効率的なテキスト処理とデータ検証に不可欠です。

Key Features

構文エラー検出機能付きのリアルタイム正規表現パターン検証

テストテキスト内のすべての結果を表示するインタラクティブマッチハイライト

すべてのJavaScript正規表現フラグ(グローバル、大小文字区別なし、複数行など)をサポート

メール、URL、電話番号などのよく使うパターンライブラリ

名前付きグループサポート付きのキャプチャグループ抽出

パターン複雑さ分析とパフォーマンスタイミング

正規表現構文とメタ文字のクイックリファレンスガイド

リテラルテキストマッチング用のワンクリックパターンエスケープ

Common Use Cases

精密なパターンマッチングでメールアドレス、電話番号、郵便番号のユーザー入力フォームを検証

キャプチャグループを使用してログファイル、CSVデータ、非構造化テキストから特定のデータを抽出

コードエディターやテキスト処理アプリケーションでの検索と置換操作

Webフォームやアプリケーション用の入力マスクと検証ルールの構築

URL、ファイルパス、設定ファイルなどの構造化データフォーマットの解析と分析

Frequently Asked Questions

貪欲と非貪欲マッチの違いは何ですか?

貪欲(*, +, ?)は可能な限り多くのテキストにマッチし、非貪欲(*?, +?, ??)は可能な限り少なくマッチします。たとえば、テキスト'<div>content</div>'で、パターン'<.*>'は貴欲的に文字列全体にマッチし、'<.*?>'は非貴欲的に'<div>'のみにマッチします。

特殊文字をリテラルにマッチさせるにはどうすればよいですか?

. * + ? ^ $ { } ( ) | [ ] \などの正規表現特殊文字は、リテラルにマッチさせるためにバックスラッシュでエスケープする必要があります。たとえば、ピリオドにマッチさせるには、.だけではなく\.を使用します。「パターンとしてエスケープ」ボタンは、テキスト内のすべての特殊文字を自動的にエスケープします。

キャプチャグループとは何で、どのように使用しますか?

キャプチャグループは括弧()で定義され、マッチの特定の部分を抽出します。番号付きグループ(1, 2, 3...)は順序でアクセスされ、名前付きグループ(?<name>pattern)は名前で参照できます。日付から年、月、日をキャプチャする/(\d{4})-(\d{2})-(\d{2})/のようなデータ抽出に便利です。

なぜ正規表現が複数行にまたがってマッチしないのですか?

デフォルトでは、^と$は文字列全体の開始と終了にマッチし、.は改行文字にマッチしません。^と$が行の境界にマッチするように複数行フラグ(m)を有効にし、.が改行文字にマッチするようにdotAllフラグ(s)を有効にします。これはログファイルやドキュメントなどの複数行テキストを処理するために不可欠です。

正規表現のパフォーマンスを改善するにはどうすればよいですか?

正規表現のパフォーマンスを最適化する方法: 1) .*をどこでも使用するのではなく具体的にする、2) バックトラッキングを防ぐためにアトミックグループや独占的量詞を使用、3) 可能な限り^や$でパターンをアンカー、4) (a+)*のようなネストした量詞を避ける、5) 実行時間表示を使用して代表的なデータでテストし、遅いパターンを特定します。