Python-da regulýar ifadeleriň giriş
Regulýar ifadeler - kyn gözleg we çalşyrmak (ýa-da diňe gözleg) üçin buýruklardyr. Olar ajaýyp zatlar etmäge mümkinçilik berýär, emma, gynansagam, öwrenilşi gaty kyn.
Python-da regulýar ifadeler bilen işe başlamak üçin bize ýörite <re modulyny import etmek gerek:
import re
<re moduly <regulýar ifadeler bilen işlemek üçin niýetlenen usullary öz içine alýar. Regulýar ifade buýruklar toplumy bolup, iki görnüşli nyşandan ybarat: özlerini aňladýanlardan we <ýörite nyşanlar diýilýän buýruk nyşanlaryndan.
Regulýar ifadeler bilen tanyşmak, setirde çalşyrmak üçin ulanylýan <sub usulynyň mysalynda başlamak has gowy. Usul birinji parametrde näme çalşyrmaly, ikinjide näme çalşyrmaly diýip alýar. Üçünji parametrde çalşyrmagy amala aşyrmaly bolan setiri görkezýäris. Dördünji hökmany däl parametrde çalşyrmalaryň sanyny kesgidläp bilersiňiz. Bu usul bilen iň ýönekeý çalşyryş aşakdaky ýaly görüner:
res = re.sub('a', '!', 'bab')
print(res) # 'b!b' çykarar
Duýduňyz ýaly, regulýar ifadede harplar özlerini aňladýar. Şol bir zat sanlar üçin hem dogry. Indi <2 sanyny <! bilen çalşyralyň:
res = re.sub('2', '!', '12abc3')
print(res) # '1!abc3' çykarar
Emma nokat ýörite nyşan bolup, <islege görä nyşany aňladýar. Indiki mysalda şu şablona görä kiçi setiri tapalyň: <harpa <'x', soň islege görä nyşan, soň ýene harpa <'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # '! eee' çykarar
Setir berlen:
txt = 'ahb acb aeb aeeb adcb axeb'
Şu şablona görä <'ahb', <'acb', <'aeb' setirlerini tapan regulýar ifade ýazyň: <harpa <'a', islege görä nyşan, harpa <'b'.
Setir berlen:
txt = 'aba aca aea abba adca abea'
Şu şablona görä <'abba', <'adca', <'abea' setirlerini tapan regulýar ifade ýazyň: <harpa <'a', <2 islege görä nyşan, harpa <'a'.
Setir berlen:
txt = 'aba aca aea abba adca abea'
<'adca' setirini çekmezden, diňe <'abba' we <'abea' setirlerini tapan regulýar ifade ýazyň.