Мы уже знаем, как указать диапазон необходимых нам символов, но как насчет количества повторений этих символов? Один из способов это сделать — явно указать, сколько именно символов мы хотим, чтобы повторялись (например, \d\d\d
будет соответствовать ровно трем цифрам).
Более удобным способом для указания количества повторений каждого символа является использование фигурных скобок. Например, a{3}
будет соответствовать символу а
ровно три раза. Некоторые механизмы регулярных выражений даже позволяют указать диапазон повторений, например, шаблон a{1,3}
будет соответствовать символу а
не более 3 раз, но и не менее 1 раза.
Фигурные скобки могут использоваться с любым символом или метасимволом, например:
w{3}
— три соответствия символу w
;
[wxy]{5}
— соответствие пяти символам, каждый из которых может быть w
, x
или y
;
.{2,6}
— от двух до шести соответствий любому символу.
В следующем упражнении последняя строка, содержащая только одну букву z
, не является правильным написанием слова wazzup
, верно? Верно! Попробуйте написать шаблон, который соответствует только первым двум вариантам этого слова, используя механизм, который мы рассмотрели на данном уроке.
Задание | Текст | |
Соответствовать | wazzzzzup | ![]() |
Соответствовать | wazzzup | ![]() |
Пропустить | wazup | ![]() |
Решение | В первых двух строках находится необходимое количество повторений z , поэтому выражение waz{3,5}up будет соответствовать этим строкам. |