# Фигурные скобки в регулярных выражениях JavaScript

Операторы `'+'`, `'*'`, `'?'` хороши, однако, с их помощью нельзя указать конкретное число повторений. В этом случае вам на помощь придет оператор `{}`.

Работает он следующим образом: `{5}` - пять повторений, `{2,5}` – повторяется от двух до пяти (оба включительно), `{2,}` - повторяется два и более раз. Обратите внимание на то, что такого варианта - `{,2}` - нет. Посмотрите примеры:

## Пример

В данном примере шаблон поиска выглядит так: буква `'x'`, буква `'a'` один или два раза, буква `'x'`:

`let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{1,2}x/g, '!');`

В результате в переменную запишется следующее:

`'xx ! ! xaaax'`

## Пример

В данном примере шаблон поиска выглядит так: буква `'x'`, буква `'a'` два раза и более, буква `'x'`:

`let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{2,}x/g, '!');`

В результате в переменную запишется следующее:

`'xx xax ! !'`

## Пример

В данном примере шаблон поиска выглядит так: буква `'x'`, буква `'a'` три раза, буква `'x'`:

`let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{3}x/g, '!');`

В результате в переменную запишется следующее:

`'xx xax xaax !'`

## Пример

В данном примере шаблон поиска выглядит так: буква `'a'` десять раз:

`let str = 'aaa aaaaaaaaaa aaa'; let res = str.replace(/a{10}/g, '!');`

В результате в переменную запишется следующее:

`'aaa ! aaa'`

## Пример

В данном примере автор кода хотел такой шаблон: буква `'x'`, буква `'a'` три раза раза и меньше, буква `'x'`, но, к сожалению, такое - {,3} - не работает. Нужно указать явно:

`let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{1,3}x/g, '!');`

В результате в переменную запишется следующее:

`'xx ! ! !'`

## Пример

Ноль тоже допустим:

`let str = 'xx xax xaax xaaax'; let res = str.replace(/xa{0,3}x/g, '!');`

В результате в переменную запишется следующее:

`'! ! ! !'`

## Практические задачи

Дана строка:

`let str = 'aa aba abba abbba abbbba abbbbba';`

Напишите регулярку, которая найдет строки `'abba'`, `'abbba'`, `'abbbba'` и только их.

Дана строка:

`let str = 'aa aba abba abbba abbbba abbbbba';`

Напишите регулярку, которая найдет строки вида `'aba'`, в которых `'b'` встречается менее `3`-х раз (включительно).

Дана строка:

`let str = 'aa aba abba abbba abbbba abbbbba';`

Напишите регулярку, которая найдет строки вида `'aba'`, в которых `'b'` встречается более `4`-х раз (включительно).

← →
↑
en ru