Python regular ifadelerinde 'ýa-da' komandasy
'|' komandasy,
[ ] komandasy bilen deňeşdirilende has güýçli
'ýa-da' wariantyny öz içine alýar.
Bu komanda regulýar ifäni birnäçe bölege bölmäge
mümkinçilik berýär. Şeýlelikde, gözlenilýän zat
ýa bir regulýar bölege, ýa-da beýlekisine gabat gelýär.
Mysallar bilen göreliň.
Mysal
Bu mysalda gözleg şablony şeýle:
üç sany 'a' harpy ýa-da üç sany
'b' harpy:
txt = 'aaa bbb abb'
res = re.sub('a{3}|b{3}', '!', txt)
print(res)
Kodyň çykış netijesi:
'! ! abb'
Mysal
Bu mysalda gözleg şablony şeýle:
üç sany 'a' harpy ýa-da 1 we
ondan köp 'b' harpy:
txt = 'aaa bbb bbbb bbbbb axx'
res = re.sub('a{3}|b+', '!', txt)
print(res)
Kodyň çykış netijesi:
'! ! ! ! axx'
Mysal
Bu mysalda gözleg şablony şeýle: bir ýa-da birnäçe harpa ýa-da üç san:
txt = 'a ab abc 1 12 123'
res = re.sub('[a-z]+|\d{3}', '!', txt)
print(res)
Kodyň çykış netijesi:
'! ! ! 1 12 !'
Mysal
Şekilli çyzyk regulýar ifäni diňe iki bölege däl, eýsem islendik sany bölege bölüp bilýär:
txt = 'aaa bbb ccc ddd'
res = re.sub('a+|b+|c+', '!', txt)
print(res)
Kodyň çykış netijesi:
'! ! ! ddd'
Mysal
Eger şekilli çyzyk aýlawly ýaýlaryň içinde bolsa,
'ýa-da' diňe şol ýaýlaryň içinde işleýär.
Mysal üçin, aşakdaky şablona laýyk setirleri tapalyň:
başynda ýa-da 'a', ýa-da 'b' bir
ýa-da birnäçe gezek durýar, soň bolsa iki sany
'x' harpy:
txt = 'axx bxx bbxx exx'
res = re.sub('(a|b+)xx', '!', txt)
print(res)
Kodyň çykış netijesi:
'! ! ! exx'
Amaly meseleler
Setir berlen:
txt = 'aeeea aeea aea axa axxa axxxa'
Regulýar ýazyň, şu şablona laýyk setirleri tapan:
gapdalda 'a' harpylary durýar,
olaryň arasynda bolsa - ýa-da 'e' harpy
islendik gezek ýa-da 'x' harpy
islendik gezek.
Setir berlen:
txt = 'aeeea aeea aea axa axxa axxxa'
Regulýar ýazyň, şu şablona laýyk setirleri tapan:
gapdalda 'a' harpylary durýar,
olaryň arasynda bolsa - ýa-da 'e' harpy
iki gezek ýa-da 'x' harpy
islendik gezek.