正規表現
無料オンライン正規表現テストツール、リアルタイムマッチプレビュー
正規表現とは
正規表現(regex)は、検索パターンを定義する文字列の並びです。ほぼすべてのプログラミング言語で、文字列のマッチング、検証、検索、置換に使用されます。単純なリテラルマッチから、グループ、先読み、後方参照を含む複雑な式まで、幅広いパターンに対応します。
正規表現テスターの使い方
パターンフィールドに正規表現を入力し、フラグ(g:グローバル、i:大文字小文字区別なし、m:複数行)を追加します。テストテキストを入力または貼り付けます。マッチ結果がリアルタイムでハイライトされます。マッチ数、キャプチャグループ、マッチ位置が表示されます。
よく使う正規表現パターン
ツールにはチートシートとして一般的なパターンが含まれています:メール検証、URLマッチング、電話番号、IPアドレス、日付など。パターンをクリックすると、テスト文字列の例とともにテスターに読み込まれます。
▶どの正規表現フラグを使うべきですか?
g(グローバル)は最初の一致だけでなくすべてを検索します。i(大文字小文字区別なし)は文字の大小を無視します。m(複数行)は^と$を行境界に一致させます。s(dotAll)は.を改行に一致させます。/gimのようにフラグを組み合わせて使用できます。
▶正規表現がマッチしないのはなぜですか?
よくある問題:特殊文字(.、*、+、?、[、]、(、)、{、}、\、^、$、|)のエスケープ忘れ、複数マッチに必要なグローバルフラグの欠落、文字クラス構文の誤りなど。
▶貪欲(greedy)量指定子と怠惰(lazy)量指定子の違いは何ですか?
貪欲量指定子(*、+)は可能な限り多くマッチします。怠惰量指定子(*?、+?)は可能な限り少なくマッチします。例えば、<.*>はHTML文字列全体にマッチしますが、<.*?>は個々のタグにマッチします。
▶先読み・後読みはサポートされていますか?
はい、このツールはブラウザのJavaScript正規表現エンジンを使用しており、先読み((?=...))、否定先読み((?!...))、後読み((?<=...))をモダンブラウザでサポートしています。