正規表現テスター
正規表現は検証、検索置換、ログ解析のためにテキストをパターンマッチします。本番コードに入れる前にライブハイライトでパターンをテストし、ユーザー入力での破滅的バックトラッキングの驚きを避けます。
正規表現のテスト方法
1. 正規表現パターンを入力します(外側のスラッシュなし、またはフラグ付き)。
2. フラグを設定します: gグローバル、i大文字小文字無視、m複数行。
3. テスト文字列エリアにサンプルテキストを貼ります。
4. マッチ、キャプチャグループ、置換プレビューがあれば確認します。
正規表現の例
メール風の検証
^[\w.-]+@[\w.-]+\.\w+$ は単純なメールを捉えます——RFC完全ではありませんがフォームに便利です。
ISO日付の抽出
\d{4}-\d{2}-\d{2} はログ行の2024-03-15を見つけ、grep置換に使えます。
スラッグ化ヘルパー
タイトル文字列からURLスラッグを作るため、[^a-z0-9]+ をハイフンに置換します。
正規表現が役立つとき
• 構造化された文字列(電話、郵便番号)を検証するとき。
• 半構造化ログを解析するとき。
• キャプチャグループと先読みを学ぶとき。
ReDoSの認識
(a+)+ のような入れ子量化子は悪意ある文字列でCPUを止めます——サーバーでユーザー正規表現を避けるか、タイムアウト付きの安全なエンジンを使います。
よくある質問
どの正規表現風味ですか?
JavaScript RegExp——PCREとの差があります(後読みサポートはエンジン版で異なります)。
グローバルフラグgは?
最初だけでなくすべてのマッチを見つけます——JSではlastIndex付きの状態付きテスト。
特殊文字はエスケープしますか?
リテラル一致には . * + ? [ ] ( ) { } | \ ^ $ のエスケープが必要です。
キャプチャグループは?
括弧 ( ) は、置換の $1 $2 でアクセスできる番号付きグループを作ります。
ローカルですか?
はい。