Python Regular Ifodalarida Figurali Qavslar
'+', '*', '?' operatorlari
yaxshi, ammo ular yordamida aniq takrorlanishlar
sonini ko'rsatib bo'lmaydi. Bu holda
{} operatori yordamga keladi.
U quyidagicha ishlaydi: {5}
- besh marta takrorlanadi, {2,5} – ikki beshgacha (har ikkisi ham qo'shilgan), {2,}
- ikki yoki undan ko'p marta takrorlanadi. Misollarni
ko'rib chiqing:
Misol
Ushbu misolda qidirsh shabloni
quyidagicha: harf 'x', harf 'a'
bir yoki ikki marta, harf 'x':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{1,2}x', '!', txt)
print(res)
Kodni bajarish natijasi:
'xx ! ! xaaax'
Misol
Ushbu misolda qidirsh shabloni
quyidagicha: harf 'x', harf 'a'
ikki marta yoki undan ko'p, harf 'x':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{2,}x', '!', txt)
print(res)
Kodni bajarish natijasi:
'xx xax ! !'
Misol
Ushbu misolda qidirsh shabloni
quyidagicha: harf 'x', harf 'a'
uch marta, harf 'x':
txt = 'xx xax xaax xaaax'
res = re.sub('xa{3}x', '!', txt)
print(res)
Kodni bajarish natijasi:
'xx xax xaax !'
Misol
Ushbu misolda qidirsh shabloni
quyidagicha: harf 'a' o'n marta:
txt = 'aaa aaaaaaaaaa aaa'
res = re.sub('a{10}', '!', txt)
print(res)
Kodni bajarish natijasi:
'aaa ! aaa'
Misol
Ushbu misolda quyidagi shablon mavjud: harf
'x', harf 'a' uch marta va undan kam,
harf 'x'. Buni amalga oshirish uchun,
3 raqami oldiga raqamni ko'rsatmasdan,
shunchaki vergul qo'yish mumkin:
txt = 'xx xax xaax xaaax'
res = re.sub('xa{,3}x', '!', txt)
print(res)
Kodni bajarish natijasi:
'! ! ! !'
Misol
3 oldidagi nol ham qabul qilinadi:
txt = 'xx xax xaax xaaax'
res = re.sub('xa{0,3}x', '!', txt)
print(res)
Kodni bajarish natijasi:
'! ! ! !'
Amaliy vazifalar
Berilgan satr:
txt = 'aa aba abba abbba abbbba abbbbba'
'abba', 'abbba', 'abbbba'
satrlarini va faqat ularni topadigan regular ifodani yozing.
Berilgan satr:
txt = 'aa aba abba abbba abbbba abbbbba'
'aba' ko'rinishidagi satrlarni topadigan regular ifodani yozing,
unda 'b'
3- martadan kam (qo'shilgan holda) uchraydi.
Berilgan satr:
txt = 'aa aba abba abbba abbbba abbbbba'
'aba' ko'rinishidagi satrlarni topadigan regular ifodani yozing,
unda 'b'
4- martadan ko'p (qo'shilgan holda) uchraydi.