正規表現のテスト方法
- 前後のスラッシュなしでパターンを入力します。
- フラグを選び、検索する文字列を貼り付けます。
- 強調された一致箇所とグループを確認し、置換も試します。
基本の構文
\d は数字、\w は単語文字、\s は空白、. は任意の1文字、^ と $ は先頭と末尾です。* + ? {n,m} は繰り返し回数、かっこはグループを作ります。
貪欲と最短一致
.* はできるだけ多く一致します。? を付けた .*? はできるだけ少なく一致し、最初の < から最後の > までではなく、HTMLタグを1つずつ取り出せます。
遅くならないパターン
(a+)+ のような入れ子の繰り返しや重なる選択肢を避け、できれば ^ と $ で固定し、.* より [^"]* のような具体的な文字クラスを使いましょう。
よくある質問
どの正規表現の文法ですか?
ブラウザやNode.jsと同じJavaScript(ECMAScript)の正規表現です。Python、Java、PCREともほぼ同じですが、細かな違いがあります。
置換でグループを使うには?
$1、$2で番号付きグループ、$<名前>で名前付きグループ、$&で一致全体を入れます。
1回しか一致しないのはなぜ?
g(すべて)フラグがないと、最初の一致だけを探します。
