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