正規表現テスター

入力中に一致箇所をすぐ表示します。

一致: 2件
お問い合わせ: hello@example.com または support@test.com
メールではない: user@localhost
#一致$1$2
1hello@example.comhelloexample
2support@test.comsupporttest

正規表現のテスト方法

  1. 前後のスラッシュなしでパターンを入力します。
  2. フラグを選び、検索する文字列を貼り付けます。
  3. 強調された一致箇所とグループを確認し、置換も試します。

基本の構文

\d は数字、\w は単語文字、\s は空白、. は任意の1文字、^ と $ は先頭と末尾です。* + ? {n,m} は繰り返し回数、かっこはグループを作ります。

貪欲と最短一致

.* はできるだけ多く一致します。? を付けた .*? はできるだけ少なく一致し、最初の < から最後の > までではなく、HTMLタグを1つずつ取り出せます。

遅くならないパターン

(a+)+ のような入れ子の繰り返しや重なる選択肢を避け、できれば ^ と $ で固定し、.* より [^"]* のような具体的な文字クラスを使いましょう。

よくある質問

どの正規表現の文法ですか?

ブラウザやNode.jsと同じJavaScript(ECMAScript)の正規表現です。Python、Java、PCREともほぼ同じですが、細かな違いがあります。

置換でグループを使うには?

$1、$2で番号付きグループ、$<名前>で名前付きグループ、$&で一致全体を入れます。

1回しか一致しないのはなぜ?

g(すべて)フラグがないと、最初の一致だけを探します。