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:

javascriptlet 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:

javascript'! ! ! 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:

javascriptlet 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:

javascript'! ! 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:

javascriptlet 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:

javascript'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:

javascriptlet 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:

javascript'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:

javascriptlet 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:

javascript'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:

javascriptlet 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:

javascript'! ! ! ! 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:

javascriptlet 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:

javascript'! ! ! 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:

javascriptlet 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:

javascript'! ! ! ! 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:

javascriptlet 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:

javascript'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:

javascriptlet 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:

javascript'! ! ! ! x123x xa3x'

Praktiki Tapşırıqlar

Задание 1

Bir sətir verilib:

javascriptlet 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.

Задание 2

Bir sətir verilib:

javascriptlet 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.

Задание 3

Bir sətir verilib:

javascriptlet 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.

Задание 4

Bir sətir verilib:

javascriptlet 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.

Задание 5

Bir sətir verilib:

javascriptlet 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.

Задание 6

Bir sətir verilib:

javascriptlet 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.

Задание 7

Bir sətir verilib:

javascriptlet 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.

Задание 8

Bir sətir verilib:

javascriptlet 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.