\d |
一桁の数字 |
\d\d |
二桁の数字 |
(\d\d) |
二桁の数字 「グループ化」 |
[0-9] |
数字の0〜9 「\dと同じ意味」 |
$` |
マッチした部分の左側の文字列 |
$& |
マッチした部分 |
$' |
マッチした部分の右側の文字列 |
$1 $2 $3 ・・・・ |
〜番目にマッチした部分 |
下の例では パターンが \d\d\d となっていますので、数字が3つ並んだ部分が対象となり、
実行すると 123 が取出せます。
複数のパターンを設定した場合は、〜番目にマッチした部分として、それぞれを取出す
事ができます。
下の例では (\d\d\d\d) が1番目にマッチしますので $1 には 2004 が入ります。
次に (\d\d) 部分がマッチしますので $2 には 10 が入ります。
最後に (\d\d) の部分がマッチしますので $3 には 01 が入ります。

これは、既に整形してしまった日時などを再度整形し直す際などに便利です。
文字列は左から検索され、パターンも左から探していきますので、 $1 や $2 は
それぞれ順番にマッチした部分が格納されていき、数が増えても同じです。
$1 $2 $3 $4 ・・・ となっていきます。

スラッシュやドットなど意味を持つ文字列は \ 記号を使ってエスケープしなくてはいけません。
上記例では検索パターンにスラッシュを文字列として扱いたいので、エスケープしています。
|