JavaScript-də requlyar ifadələrdə 'və ya' komandası
Bu dərsdə biz '|' komandasını təhlil edəcəyik,
bu komanda [ ] komandası ilə müqayisədə daha güclü
'və ya' variantını təmsil edir. Bu komanda
requlyar ifadəni bir neçə hissəyə bölməyə imkan verir.
Bu zaman axtarılan ya requlyar ifadənin bir hissəsinə,
ya da digərinə uyğun ola bilər. Gəlin nümunələrlə
baxaq.
Nümunə
Bu nümunədə axtarış şablonu belədir: üç
hərf 'a' və ya üç hərf 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! abb'
Nümunə
Bu nümunədə axtarış şablonu belədir: üç
hərf 'a' və ya 1 və daha çox
hərf 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! ! axx'
Nümunə
Bu nümunədə axtarış şablonu belədir: bir və ya daha çox hərf və ya üç rəqəm:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! 1 12 !'
Nümunə
Şaquli xətt requlyar ifadəni iki hissəyə deyil, istənilən sayda hissəyə bölə bilər:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! ddd'
Nümunə
Əgər şaquli xətt dairəvi mötərizələrin içindədirsə,
onda 'və ya' yalnız həmin mötərizələrin
daxilində işləyir.
Nümunə üçün gəlin aşağıdakı şablona uyğun sətirləri
tapaq: əvvəlində 'a', ya da 'b'
bir və ya daha çox dəfə dayanır, sonra isə iki hərf
'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! exx'
Praktiki tapşırıqlar
Sətir verilmişdir:
let str = 'aeeea aeea aea axa axxa axxxa';
Requlyar ifadə yazın, hansı ki, sətirləri
aşağıdakı şablona uyğun tapacaq: kənarlarda
'a' hərfləri dayanır, onların arasında isə
- ya 'e' hərfi istənilən sayda və ya
'x' hərfi istənilən sayda.
Sətir verilmişdir:
let str = 'aeeea aeea aea axa axxa axxxa';
Requlyar ifadə yazın, hansı ki, sətirləri
aşağıdakı şablona uyğun tapacaq: kənarlarda
'a' hərfləri dayanır, onların arasında isə
- ya 'e' hərfi iki dəfə və ya 'x'
hərfi istənilən sayda.