?, *, +, {n,m} など繰り返し回数を指定する量指定子をマスターします。
量指定子は直前のパターンが何回繰り返すかを指定します。
| 量指定子 | 意味 | 例 |
|---|---|---|
| ? | 0回または1回(省略可能) | colou?r |
| * | 0回以上 | a* |
| + | 1回以上 | \d+ |
| {n} | ちょうど n 回 | \d{3} |
| {n,} | n 回以上 | \w{4,} |
| {n,m} | n 回以上 m 回以下 | \d{2,4} |
colou?r → "color" と "colour" の両方にマッチ
\d+ → "1", "42", "100" にマッチ(1桁以上)
\d{3} → "123" にマッチ(3桁ちょうど)
\d{2,4} → "12", "123", "1234" にマッチ(2〜4桁)
デフォルトは貪欲マッチ(できるだけ長くマッチ)。
? を付けると非貪欲マッチ(できるだけ短くマッチ)になります。
パターン: .+ テスト: "<b>bold</b>"
貪欲: "<b>bold</b>" 全体にマッチ
非貪欲: .+? → "<b>" にマッチ
次のレッスン: グループとOR