Уточнить регулярное выражение можно с помощью символов +, которые называют квалификаторами (qualifiers). Они обозначают, сколько раз символ или последовательность символов может встретиться в строке:
♦ соответствует строке, содержащей хотя бы один х. Строка xyz или axxyz будет соответствовать этому выражению, а строка ayz - нет.
♦ соответствует любой строке, содержащей или более Строка xyz будет соответствовать, так же как и строки ayz и axxyz.
♦ соответствует любой содержащей ноль или один х . Строка xyz будет соответствовать, так же как и строка ayz, однако строка ххх - не будет.
Границы (bounds) - это числа, заключенные в фигурные скобки. Они указывают количество вхождений фрагмента, непосредственно предшествующего границе:
♦ "ab{3}" соответствует строке, в которой за а следуют ровно триЬ.
♦ "ab{3,}" соответствует строке, в которой есть хотя бы три но может быть больше.
• "ab{3,5}" соответствует строке, содержащей от трех до пятиЬ.
Чтобы указать количество вхождений последовательности символов, она заключается в круглые скобки:
• "x(yz)* соответствует строке, где есть х, за которым следуют ноль или более yz.
Круглые скобки можно комбинировать с границами, которые с
последовательностью внутри круглых скобок:
• "z(yz){3, 5}" соответствует строке, где есть х, за которым следуют от трех до пяти последовательностей yz.
В дополнение приведем несколько специальных символов, используемых в регулярных выражениях:
• Точка*,» соответствует любому одному символу. Выражение "а. [0-9]" соответствует строке, содержащей а, за которой идут любой символ и цифра. Строки аЫ, az9, at 1 дают пример соответствия данному критерию.
• Символ каре«~>> соответствует началу строки. Выражение""ab" соответствует любой строке, начинающейся с ab. Обратите внимание, что " ставится вне выражения в скобках. Допустимые примеры дают строки about, abbe и abhor.
• Знак доллара «$» соответствует концу строки. Выражение "ab$" соответствует любой строке, оканчивающейся на ab. Строки drab, scab и будут соответствовать регулярному выражению "ab$".
Для того чтобы эти символы рассматривались как обычные, их следует записывать как езсаре-последовательности. Например, для того чтобы найти в строке символ $, в регулярном выражении следует задать "\$ ".
Классы символов (character classes) - это сокращенные обозначения, принятые в регулярных выражениях: