JavaScript muntazam ifodalarda belgilar to‘plami

\d va \w belgilar guruhlari juda moslashuvchan emas. Hatto barcha harflarni topish, lekin raqamlarni emas - kabi oddiy vazifa ham ular yordamida hal qilinishi mumkin emas. Bunday vazifalar uchun 'yoki' amalini ifodalovchi to‘rtburchak qavslardan foydalanish kerak.

To‘rtburchak qavslar ichida ko‘rsatilgan har qanday belgini almashtiradi. Masalan, shu tarzda: /x[abc]x/ - biz chetda x harflari bo‘lishi kerak, ichida esa - bitta belgi: 'a', 'b' yoki 'c'.

To‘rtburchak qavslardan keyin takrorlash operatorlarini yozish mumkin. Masalan, shu tarzda: /x[abc]+x/ - biz x lar ichida 'a', 'b' va 'c' belgilarining har qanday soni bo‘lishi mumkinligini aytamiz - har qanday kombinatsiyada.

Faqat belgilarni sanab o‘tish emas, balki ikkita belgi orasiga chiziqcha qo‘yib belgilar guruhlarini yaratish mumkin. Masalan, shu tarzda: [a-d] - biz 'a' dan 'd' gacha bo‘lgan barcha belgilarni olamiz.

Keling, misollar orqali ko‘rib chiqaylik.

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 'a' dan 'z' gacha bo‘lgan har qanday harf:

javascriptlet str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! x@x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 'a' dan 'k' gacha bo‘lgan har qanday harf:

javascriptlet str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'! ! xmx x@x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 'A' dan 'Z' gacha bo‘lgan har qanday harf:

javascriptlet str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'xax ! xcx x@x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 0 dan 9 gacha bo‘lgan har qanday raqam:

javascriptlet str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'xax ! ! ! x@x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 3 dan 7 gacha bo‘lgan har qanday raqam:

javascriptlet str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'xax x1x ! ! x@x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 'a' dan 'z' gacha bo‘lgan har qanday harf yoki 1 dan 9 gacha bo‘lgan raqam:

javascriptlet str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! ! x@x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 'a' dan 'z' gacha bo‘lgan har qanday harf yoki 'A' dan 'Z' gacha bo‘lgan harf:

javascriptlet str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! x5x x@x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 'a' dan 'z' gacha bo‘lgan har qanday harf yoki 1, 2 raqamlari:

javascriptlet str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! ! x3x'

Misol

Bu misolda qidirish shabloni quyidagicha: x lar orasida 'a' dan 'z' gacha bo‘lgan harflar 1 va undan ko‘p miqdorda:

javascriptlet str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'xx ! ! ! x123x xa3x'

Misol

Keling, harflar soni nol bo‘lishiga ham ruxsat beraylik:

javascriptlet str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');

Natijada o‘zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! ! x123x xa3x'

Amaliy vazifalar

Задание 1

Berilgan satr:

javascriptlet str = 'aba aea aca aza axa';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - 'b', 'e' yoki 'x' harfi.

Задание 2

Berilgan satr:

javascriptlet str = 'a1a a3a a7a a9a aba';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - 3-lardan 6-largacha bo‘lgan raqam.

Задание 3

Berilgan satr:

javascriptlet str = 'aba aea afa aha aga';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - a dan g gacha bo‘lgan harf.

Задание 4

Berilgan satr:

javascriptlet str = 'aba aea afa aha aga';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - a dan f gacha va j dan z gacha bo‘lgan harf.

Задание 5

Berilgan satr:

javascriptlet str = 'aAa aea aEa aJa a3a';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - a dan f gacha va A dan D gacha bo‘lgan harf.

Задание 6

Berilgan satr:

javascriptlet str = 'aAXa aeffa aGha aza ax23a a3sSa';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - kichik lotin harflari, qolganlariga tegmasdan.

Задание 7

Berilgan satr:

javascriptlet str = 'aAXa aeffa aGha aza ax23a a3sSa';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - kichik va katta lotin harflari, qolganlariga tegmasdan.

Задание 8

Berilgan satr:

javascriptlet str = 'aAXa aeffa aGha aza ax23a a3sSa';

Quyidagi shabonga asosan topadigan muntazam ifoda yozing: chetlarida 'a' harflari turadi, ular orasida esa - kichik lotin harflari va raqamlar, qolganlariga tegmasdan.