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':
let 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:
'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':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{2,}x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'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':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{3}x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'xx xax xaax !'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
hərf 'a' on dəfə:
let str = 'aaa aaaaaaaaaa aaa';
let res = str.replace(/a{10}/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'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:
let 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:
'xx ! ! !'
Nümunə
Sıfır da icazəlidir:
let 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:
'! ! ! !'
Praktiki Tapşırıqlar
Sətir verilib:
let str = 'aa aba abba abbba abbbba abbbbba';
'abba', 'abbba', 'abbbba'
sətirlərini və yalnız onları tapan muntəzəm ifadə yazın.
Sətir verilib:
let 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.
Sətir verilib:
let 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.