跳转到主要内容
eLearner.app
模块 2 · 第 1 课(共 4)课程中的5/32~10 min
模块课程(1/4)

`*`、`+`、`?`

Quantifiers tell the engine how many times to repeat the element that precedes them. The three basic quantifiers are *, +, ?.

QuantifierMeaningExampleMatches
*zero or more timesba*b, ba, baa
+one or more timesba+ba, baa
?zero or one timescolou?rcolor, colour

They apply to the last atom: a single character (a+), a class (\d+), a group ((ab)+, module 4).

Code
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

锻炼#regex.m2.l1.e1
尝试:0加载中...

Find every sequence of one or more consecutive lowercase 'a's in the text.

正在加载编辑器...
显示提示

Use the + quantifier (one or more).

3 次尝试后可用的解决方案

Review exercise

锻炼#regex.m2.l1.e2
尝试:0加载中...

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

锻炼#regex.m2.l1.e3
尝试:0加载中...

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 次尝试后可用的解决方案