このガイドが役立つ場面
「正規表現テスター」「regexのマッチ・置換を確認」「JavaScript正規表現をオンラインでテスト」と検索する人向けに、境界値と誤一致の確認方法を説明します。
- メールアドレス、ID、ログ行などの抽出パターンを試したい
- キャプチャグループと置換文字列の結果を確認したい
- 全体一致、複数行、大文字小文字などフラグの違いを比較したい
テストデータの作り方
- 一致してほしい代表的な文字列
- 似ているが一致してほしくない文字列
- 空文字、改行、全角文字、記号を含む境界例
- 長い文字列や同じ文字が連続する負荷確認用データ
確認手順
- パターンとフラグを入力し、構文エラーがないことを確認します。
- 一致箇所、件数、開始位置、キャプチャグループを確認します。
- 置換を使う場合は、置換文字列と変換後の全文を確認します。
- 想定外の行まで一致していないか、条件を一つずつ追加して絞り込みます。
実運用へ入れる前の注意
JavaScriptの正規表現は、他言語の正規表現エンジンと対応構文やUnicodeの扱いが異なる場合があります。最終的に使用する言語や製品でも同じテストデータを使って確認します。
秘密情報を含む実データではなく、構造を再現したテストデータで検証すると安全です。
具体例:ログからHTTPステータスコードを抽出する
正常な200だけで試すのではなく、404、500、行末、余分な空白、欠損値を含む複数行を用意します。期待して一致する例と、一致してはいけない例を同時に入力します。
正規表現が短いテストでは動いても、長い実データで過度に遅くなる場合があります。量を増やし、曖昧な繰り返しやネストした量指定子を確認します。
- 抽出したい例と除外したい例を最低3件ずつ用意します。
- パターンと必要なフラグを入力します。
- 一致範囲、グループ、件数、置換結果を確認します。
- 空文字、最短・最長、改行、全角文字、長い入力でもテストします。
正規表現だけでメールアドレスやURLの仕様を完全検証するのは困難です。入力支援と厳密な業務検証を分けてください。
よくある質問
- 同じ正規表現が別の言語で動かないのはなぜですか?
- JavaScript、Python、Javaなどで正規表現エンジンと対応構文が異なります。使用先と同じ仕様か確認してください。
- gフラグを付けると何が変わりますか?
- JavaScriptでは最初の一致だけでなく入力全体から複数の一致を探します。置換件数にも影響するため結果を確認してください。
ブラウザで試す
入力内容はブラウザ内で処理されます。元データを残したうえで、結果を確認してから保存・共有してください。
正規表現テスター・置換確認ツールを開く