JavaScript-da RegExp Simvol Setleri
\d və \w simvol qrupları
çox çevik deyil. Hətta bütün hərfləri, lakin rəqəmləri yox tapmaq kimi
sadə bir vəzifə belə onlar tərəfindən həll edilə bilməz. Belə vəzifələr üçün
'və ya' əməliyyatını təmsil edən kvadrat mötərizələrdən istifadə etmək lazımdır.
Kvadrat mötərizələr içərisində sadalanan hər hansı bir simvolu əvəz edir.
Məsələn, belə: /x[abc]x/ - biz deyirik ki,
kənarlarda x hərfləri, içəridə isə
- bir simvol: ya 'a', ya 'b',
ya da 'c' olmalıdır.
Kvadrat mötərizələrdən sonra təkrar operatorları
yazmaq olar. Məsələn, belə: /x[abc]+x/
- biz deyirik ki, x-lər arasında
istənilən sayda 'a', 'b'
və 'c' simvolu ola bilər - istənilən birləşmədə.
Yalnız simvolları sadalamaqla kifayətlənməyib,
iki simvol arasına defis qoyaraq simvol qrupları da
yarada bilərsiniz. Məsələn, belə: [a-d] -
biz 'a'-dan 'd'-ə qədər
bütün simvolları əldə edirik.
Gəlin nümunələrə baxaq.
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 'a'-dan
'z'-ə qədər istənilən hərf:
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! x@x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 'a'-dan
'k'-ə qədər istənilən hərf:
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! xmx x@x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 'A'-dan
'Z'-ə qədər istənilən hərf:
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'xax ! xcx x@x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 0-dan 9-a qədər istənilən rəqəm:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'xax ! ! ! x@x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 3-dən 7-yə qədər istənilən rəqəm:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'xax x1x ! ! x@x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 'a'-dan
'z'-ə qədər istənilən hərf və ya 1-dən 9-a qədər rəqəm:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! ! x@x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 'a'-dan
'z'-ə qədər və ya 'A'-dan
'Z'-ə qədər istənilən hərf:
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! x5x x@x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 'a'-dan
'z'-ə qədər istənilən hərf və ya 1, 2 rəqəmləri:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! ! x3x'
Nümunə
Bu nümunədə axtarış şablonu belə görünür:
x-lər arasında 'a'-dan 'z'-ə qədər hərflər
1 və daha çox sayda:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'xx ! ! ! x123x xa3x'
Nümunə
Gəlin hərflərin sayının sıfır da ola biləcəyini təmin edək:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Nəticədə dəyişənə aşağıdakı yazılacaq:
'! ! ! ! x123x xa3x'
Praktiki Tapşırıqlar
Bir sətir verilib:
let str = 'aba aea aca aza axa';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - 'b', 'e'
ya da 'x' hərfi.
Bir sətir verilib:
let str = 'a1a a3a a7a a9a aba';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - 3-dən 6-ya qədər rəqəm.
Bir sətir verilib:
let str = 'aba aea afa aha aga';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - a-dan g-yə qədər hərf.
Bir sətir verilib:
let str = 'aba aea afa aha aga';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - a-dan f-ə və j-dən z-yə qədər hərf.
Bir sətir verilib:
let str = 'aAa aea aEa aJa a3a';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - a-dan f-ə və A-dan D-yə qədər hərf.
Bir sətir verilib:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - kiçik latın hərfləri,
qalanları toxunmadan.
Bir sətir verilib:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - kiçik və böyük latın
hərfləri, qalanları toxunmadan.
Bir sətir verilib:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Aşağıdakı şablona uyğun gələn regular ifadəni yazın:
kənarlarda 'a' hərfləri dayanır,
onların arasında isə - kiçik latın hərfləri
və rəqəmlər, qalanları toxunmadan.