RegExp-də Simvol Təkrarlama Operatorları
Elə hallar olur ki, biz göstərmək istəyirik ki,
simvol müəyyən sayda təkrarlanır. Əgər dəqiq təkrarlanma sayını biliriksə,
onda onu bir neçə dəfə yaza bilərik
- /aaaa/. Bəs belə demək istəsək: bir və ya daha çox dəfə təkrarla?
Bunun üçün təkrarlama operatorları (kvantifikatorlar)
var: plus + (bir və ya daha çox dəfə),
ulduz * (sıfır və ya daha çox dəfə) və
sual işarəsi ? (sıfır və ya bir dəfə). Bu
operatorlar önündə duran simvola təsir edir.
Gəlin bu operatorların işini nümunələr üzərində nəzərdən keçirək.
Nümunə
Gəlin hərf
'x', hərf 'a' bir və ya daha çox
dəfə, hərf 'x' şablonuna uyğun olan bütün alt sətirləri tapaq:
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'xx ! ! ! xbx'
Nümunə
Gəlin hərf
'x', hərf 'a' sıfır və ya daha çox
dəfə, hərf 'x' şablonuna uyğun olan bütün alt sətirləri tapaq:
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! ! xbx'
Nümunə
Gəlin hərf
'x', hərf 'a' sıfır və ya bir
dəfə, hərf 'x' şablonuna uyğun olan bütün alt sətirləri tapaq:
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! xaax xbx'
Praktiki Tapşırıqlar
Sətir verilmişdir:
let str = 'aa aba abba abbba abca abea';
'aba', 'abba', 'abbba'
sətirlərini tapacaq regular yazın: hərf 'a', hərf 'b'
istənilən sayda, hərf 'a'.
Sətir verilmişdir:
let str = 'aa aba abba abbba abca abea';
'aa', 'aba', 'abba',
'abbba' sətirlərini tapacaq regular yazın: hərf 'a',
hərf 'b' istənilən sayda (o cümlədən heç),
hərf 'a'.
Sətir verilmişdir:
let str = 'aa aba abba abbba abca abea';
'aa', 'aba' sətirlərini tapacaq regular yazın: hərf
'a', hərf 'b' bir dəfə və ya
heç, hərf 'a'.
Sətir verilmişdir:
let str = 'aa aba abba abbba abca abea';
'aa', 'aba', 'abba',
'abbba' sətirlərini tapacaq, 'abca'
və 'abea'-ni isə tapmayacaq regular yazın.