JavaScript бейнелеу өрнектеріндегі бұйра жақшалар

'+', '*', '?' операторлары жақсы, бірақ олардың көмегімен нақты қайталау санын көрсету мүмкін емес. Бұл жағдайда {} операторы көмекке келеді.

Ол келесідей жұмыс істейді: {5} - бес рет қайталау, {2,5} – екіден беске дейін қайталанады (екеуі де қоса алғанда), {2,} - екі және одан да көп рет қайталанады. Мына нұсқаның жоқ екеніне назар аударыңыз - {,2}. Мысалдарға қараңыз:

Мысал

Бұл мысалда іздеу үлгісі келесідей: 'x' әрпі, 'a' әрпі бір немесе екі рет, 'x' әрпі:

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

Нәтижесінде айнымалыға мыналар жазылады:

javascript'xx ! ! xaaax'

Мысал

Бұл мысалда іздеу үлгісі келесідей: 'x' әрпі, 'a' әрпі екі рет және одан да көп, 'x' әрпі:

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

Нәтижесінде айнымалыға мыналар жазылады:

javascript'xx xax ! !'

Мысал

Бұл мысалда іздеу үлгісі келесідей: 'x' әрпі, 'a' әрпі үш рет, 'x' әрпі:

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

Нәтижесінде айнымалыға мыналар жазылады:

javascript'xx xax xaax !'

Мысал

Бұл мысалда іздеу үлгісі келесідей: 'a' әрпі он рет:

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

Нәтижесінде айнымалыға мыналар жазылады:

javascript'aaa ! aaa'

Мысал

Бұл мысалда код авторы келесі үлгіні қалаған: 'x' әрпі, 'a' әрпі үш рет және одан аз, 'x' әрпі, бірақ, өкінішке орай, бұл - {,3} - жұмыс істемейді. Анық көрсету керек:

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

Нәтижесінде айнымалыға мыналар жазылады:

javascript'xx ! ! !'

Мысал

Нөл де рұқсат етілген:

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

Нәтижесінде айнымалыға мыналар жазылады:

javascript'! ! ! !'

Практикалық тапсырмалар

Задание 1

Мына жол берілген:

javascriptlet str = 'aa aba abba abbba abbbba abbbbba';

'abba', 'abbba', 'abbbba' жолдарын және оларды ғана табатын бейнелеу өрнегін жазыңыз.

Задание 2

Мына жол берілген:

javascriptlet str = 'aa aba abba abbba abbbba abbbbba';

'aba' тәрізді жолдарды табатын бейнелеу өрнегін жазыңыз, онда 'b' 3-тен кем рет кездеседі (қоса алғанда).

Задание 3

Мына жол берілген:

javascriptlet str = 'aa aba abba abbba abbbba abbbbba';

'aba' тәрізді жолдарды табатын бейнелеу өрнегін жазыңыз, онда 'b' 4-тен көп рет кездеседі (қоса алғанда).