دروس الوحدة (1/4)
`*`، `+`، `؟`
Quantifiers tell the engine how many times to repeat the element that
precedes them. The three basic quantifiers are *, +, ?.
| Quantifier | Meaning | Example | Matches |
|---|---|---|---|
* | zero or more times | ba* | b, ba, baa |
+ | one or more times | ba+ | ba, baa |
? | zero or one times | colou?r | color, colour |
They apply to the last atom: a single character (a+), a class
(\d+), a group ((ab)+, module 4).
Pattern: \d+
Sample: Codici 7, 12 e 314.
^ ^^ ^^^\d+ matches "one or more digits", it does not stop at the first one: a
maximal sequence of consecutive digits.
Deep dive into the optional quantifier
The question mark ? applies only to the single character immediately preceding it. To make an entire sequence of characters or words optional, you must enclose them in parentheses, for example (https)?.
Try it
Find every sequence of one or more consecutive lowercase 'a's in the text.
إظهار التلميح
Use the + quantifier (one or more).
الحل متاح بعد 3 من المحاولات
Review exercise
Find every integer, with an optional minus sign (e.g. `42`, `-3`, `0`). Use `?` for the optional minus and `+` for the digits.
إظهار التلميح
Prefix -? to the digit class, so the minus sign is either present or absent.
الحل متاح بعد 3 من المحاولات
Additional challenge
Find both `color` and `colour` in the text using the optional quantifier `?`.
إظهار التلميح
Place the ? after the letter u to indicate it can appear zero or one times.
الحل متاح بعد 3 من المحاولات