JavaScript-də Muntəzəm İfadələrdə Qıvrım Mötərizələr

'+', '*', '?' operatorları yaxşıdır, lakin onların köməyi ilə xüsusi təkrarlanma sayını göstərmək olmaz. Bu halda {} operatoru sizə kömək edəcək.

O, aşağıdakı kimi işləyir: {5} - beş təkrarlanma, {2,5} – ikidən beşə qədər təkrarlanır (hər ikisi daxil olmaqla), {2,} - iki və daha çox dəfə təkrarlanır. Diqqət edin ki, {,2} variantı yoxdur. Nümunələrə baxın:

Nümunə

Bu nümunədə axtarış şablonu belə görünür: hərf 'x', hərf 'a' bir və ya iki dəfə, hərf 'x':

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

javascript'xx ! ! xaaax'

Nümunə

Bu nümunədə axtarış şablonu belə görünür: hərf 'x', hərf 'a' iki və daha çox dəfə, hərf 'x':

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

javascript'xx xax ! !'

Nümunə

Bu nümunədə axtarış şablonu belə görünür: hərf 'x', hərf 'a' üç dəfə, hərf 'x':

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

javascript'xx xax xaax !'

Nümunə

Bu nümunədə axtarış şablonu belə görünür: hərf 'a' on dəfə:

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

javascript'aaa ! aaa'

Nümunə

Bu nümunədə kodun müəllifi belə bir şablon istəyirdi: hərf 'x', hərf 'a' üç dəfə və daha az, hərf 'x', amma təəssüf ki, bu - {,3} - işləmir. Açıq şəkildə göstərmək lazımdır:

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

javascript'xx ! ! !'

Nümunə

Sıfır da icazəlidir:

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

Nəticədə dəyişənə aşağıdakı yazılacaq:

javascript'! ! ! !'

Praktiki Tapşırıqlar

Задание 1

Sətir verilib:

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

'abba', 'abbba', 'abbbba' sətirlərini və yalnız onları tapan muntəzəm ifadə yazın.

Задание 2

Sətir verilib:

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

'aba' tipli, içində 'b' hərfinin 3-dən az (daxil olmaqla) dəfə rast gəlinən sətirləri tapan muntəzəm ifadə yazın.

Задание 3

Sətir verilib:

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

'aba' tipli, içində 'b' hərfinin 4-dən çox (daxil olmaqla) dəfə rast gəlinən sətirləri tapan muntəzəm ifadə yazın.