Фигурные скобки

Если требуется указать большое количество вхождений, то можно использовать фигурные скобки, которые позволяют задать точное число вхождений Синтаксис {п}
Предположим, что нужно найти номера деталей, в которых присутствуют точно три цифры. Такой шаблон можно записать в виде
АВС[0-9] [0-9] [0-9]
Здесь просто повторяется класс символов, означающий цифры. Но такое сравне¬ние можно записать и с помощью фигурных скобок в виде
АБС[0-9](3}
с тем же результатом.
Большинство механизмов обработки регулярных выражений имеют средства для выражения таких понятий. Данный синтаксис использует фигурные скобки для указа¬ния минимального и максимального количества вхождений.
Синтаксис {n,m}
Операция *, описанная выше в данном приложении, по сути, означает "Соответ¬ствует минимум нулю вхождений и максимум неограниченному количеству вхожде¬ний". Аналогично, квантификатор + означает "Соответствует минимум одному вхож¬дению и максимум неограниченному количеству вхождений".
Применение фигурных скобок с числами между ними позволяет разработчику соз¬давать квантификаторы вхождений, которые невозможно выразить с помощью опе¬раций ?, * и +.
В последующих подразделах рассмотрены три варианта применения фигурных скобок. Сначала мы рассмотрим синтаксис, который задает "Соответствие от нуля до указанного количества вхождений".
Синтаксис {0,т}
Синтаксис {0, т} позволяет указать минимум ноль вхождений фрагмента (указыва¬ется первой цифрой после открывающей фигурной скобки) и максимум m вхождений

(указывается вторым параметром, который отделяется от первого запятой, и за кото¬рым следует закрывающая фигурная скобка).
Соответствие минимум нулю вхождений и максимум одному вхождению записыва¬ется шаблоном
{0,1}
который действует точно так же, как и квантификатор ?.
Чтобы задать минимум ноль вхождений и максимум три вхождения, нужен шаблон
{0,3}
который невозможно записать с помощью квантификаторов ?, * и +.
Предположим, нужно указать, что требуется найти последовательность символов
АВС, за которыми следует не менее нуля и не более двух цифр. *
Эту задачу можно полуформально записать следующим образом.
Проверить наличие буквы А. При ее обнаружении проверить наличие буквы В. При ее об нарушении проверить наличие буквы С. При обнаружении всех этих трех букв проверить наличие минимум нуля и максимум двух цифр.
Эту задачу выполняет следующий шаблон:
АВС[0-9]{0,2}
Часть АВС просто соответствует последовательности соответствующих литераль¬ных символов. Часть [0-9] указывает на соответствие цифре, а часть {0,2} представ¬ляет собой квантификатор, который задает минимум ноль и максимум два вхождения предыдущего фрагмента (т.е. цифры — [0-9]).