Кадрави загради во регуларните изрази на 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 пати (вклучително).