В предыдущих уроках мы научились использовать регулярные выражения в PHP. И все бы ничего, но что если выражение становится очень сложным и имеет множество повторяющихся элементов? В такой ситуации нам момогут квантификаторы (повторения в PHP).
Повторения в PHP (квантификаторы)
В предыдущих уроках мы не раз записывали последовательность повторяющихся одинаковых символов в виде \s\s. Данная запись вполне работоспособна, но что делать, если повторений очень много.
Множественные повторения в PHP задаются при помощи так называемых квантификаторов. Квантификаторы бывают двух основных типов: общие и сокращенные.
Общие квантификаторы задают минимальное и максимальное число дозволенных повторений элемента; эти два числа, разделенные запятой, заключаются в фигурные скобки. Числа не должны превышать 65 536 и первое число должно быть меньше или равно второму:
h{1,2}
Данная запись говорит интерпретатору о том, что символ «h» должен повторяться минимум один и максисум 2 раза: h, hh.
Следующая запись h{2,} говорит о том, что символ «h» должен повторяться в строке от одного раза до бесконечности.
Запись h{2} говорит о том, что символ «h» должен повториться ровно 2 раза.
Ниже перечисленны сокращенные квантификаторы:
* эквивалентно {0,} – то есть это ноль и более повторений;
+ эквивалентно {1,} – то есть это одно и более повторений;
? эквивалентно {0,1} – то есть это ноль или одно повторение.