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:
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Natijada o'zgaruvchiga quyidagilar yoziladi:
'! ! abb'
Misol
Ushbu misolda qidiruv shabloni quyidagicha: uchta
'a' harfi yoki 1 va undan ortiq
'b' harfi:
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Natijada o'zgaruvchiga quyidagilar yoziladi:
'! ! ! ! axx'
Misol
Ushbu misolda qidiruv shabloni quyidagicha: bitta yoki undan ortiq harf yoki uchta raqam:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Natijada o'zgaruvchiga quyidagilar yoziladi:
'! ! ! 1 12 !'
Misol
Vertikal chiziq regularni ikkiga emas, balki istalgan sonli qismlarga bo'lishi mumkin:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Natijada o'zgaruvchiga quyidagilar yoziladi:
'! ! ! 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:
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Natijada o'zgaruvchiga quyidagilar yoziladi:
'! ! ! exx'
Amaliy Mashqlar
Berilgan satr:
let 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.
Berilgan satr:
let 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.