JavaScript Regular Ifodalarida 'yoki' Buyrug'i

Ushbu darsda biz '|' buyrug'ini tahlil qilamiz, bu [ ] buyrug'iga qaraganda kuchliroq 'yoki' variantini ifodalaydi. Ushbu buyruq regularni bir nechta qismlarga bo'lish imkonini beradi. Bunda izlanayotgan narsa regularning bir qismiga yoki boshqasiga to'g'ri kelishi mumkin. Keling, misollar orqali ko'rib chiqaylik.

Misol

Ushbu misolda qidiruv shabloni quyidagicha: uchta 'a' harfi yoki uchta 'b' harfi:

javascriptlet str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');

Natijada o'zgaruvchiga quyidagilar yoziladi:

javascript'! ! abb'

Misol

Ushbu misolda qidiruv shabloni quyidagicha: uchta 'a' harfi yoki 1 va undan ortiq 'b' harfi:

javascriptlet str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');

Natijada o'zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! ! axx'

Misol

Ushbu misolda qidiruv shabloni quyidagicha: bitta yoki undan ortiq harf yoki uchta raqam:

javascriptlet str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');

Natijada o'zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! 1 12 !'

Misol

Vertikal chiziq regularni ikkiga emas, balki istalgan sonli qismlarga bo'lishi mumkin:

javascriptlet str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');

Natijada o'zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! ddd'

Misol

Agar vertikal chiziq dumaloq qavs ichida turgan bo'lsa, 'yoki' faqat shu qavslar ichida ishlaydi.

Misol uchun, quyidagi shablonga mos satrlarni topamiz: boshida 'a', yoki 'b' bitta yoki undan ortiq marta turgan, keyin esa ikkita 'x' harfi turgan:

javascriptlet str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');

Natijada o'zgaruvchiga quyidagilar yoziladi:

javascript'! ! ! exx'

Amaliy Mashqlar

Задание 1

Berilgan satr:

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Quyidagi shablonga mos satrlarni topadigan regular yozing: chekkalarida 'a' harflari turgan, ular orasida esa - 'e' harfi istalgan sonda yoki 'x' harfi istalgan sonda turgan.

Задание 2

Berilgan satr:

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Quyidagi shablonga mos satrlarni topadigan regular yozing: chekkalarida 'a' harflari turgan, ular orasida esa - 'e' harfi ikki marta yoki 'x' harfi istalgan sonda turgan.