Perintah 'ATAU' dalam Ungkapan Biasa Python
Perintah '|', yang mewakili
versi 'ATAU' yang lebih berkuasa
berbanding perintah [ ]. Perintah ini
membolehkan ungkapan biasa dibahagikan kepada beberapa
bahagian. Pada masa yang sama, yang dicari boleh
sama ada sepadan dengan satu bahagian ungkapan biasa, atau dengan
bahagian yang lain. Mari kita lihat contohnya.
Contoh
Dalam contoh ini, corak carian adalah seperti berikut:
tiga huruf 'a' atau tiga huruf
'b':
txt = 'aaa bbb abb'
res = re.sub('a{3}|b{3}', '!', txt)
print(res)
Keputusan pelaksanaan kod:
'! ! abb'
Contoh
Dalam contoh ini, corak carian adalah seperti berikut:
tiga huruf 'a' atau dari 1 dan
lebih huruf 'b':
txt = 'aaa bbb bbbb bbbbb axx'
res = re.sub('a{3}|b+', '!', txt)
print(res)
Keputusan pelaksanaan kod:
'! ! ! ! axx'
Contoh
Dalam contoh ini, corak carian adalah seperti berikut: satu atau lebih huruf atau tiga digit:
txt = 'a ab abc 1 12 123'
res = re.sub('[a-z]+|\d{3}', '!', txt)
print(res)
Keputusan pelaksanaan kod:
'! ! ! 1 12 !'
Contoh
Palang menegak boleh membahagikan ungkapan biasa bukan kepada dua bahagian, tetapi kepada sebarang bilangan bahagian:
txt = 'aaa bbb ccc ddd'
res = re.sub('a+|b+|c+', '!', txt)
print(res)
Keputusan pelaksanaan kod:
'! ! ! ddd'
Contoh
Jika palang menegak berada di dalam kurungan
bulat, maka 'ATAU' berfungsi hanya
di dalam kurungan tersebut.
Sebagai contoh, mari cari rentetan mengikut
corak berikut: pada permulaan terdapat sama ada
'a', atau 'b' satu atau lebih
kali, dan kemudian dua huruf 'x':
txt = 'axx bxx bbxx exx'
res = re.sub('(a|b+)xx', '!', txt)
print(res)
Keputusan pelaksanaan kod:
'! ! ! exx'
Tugas Praktikal
Diberikan rentetan:
txt = 'aeeea aeea aea axa axxa axxxa'
Tulis ungkapan biasa yang akan mencari rentetan
mengikut corak: di tepi terdapat huruf
'a', dan di antaranya - sama ada huruf
'e' sebarang bilangan kali atau huruf
'x' sebarang bilangan kali.
Diberikan rentetan:
txt = 'aeeea aeea aea axa axxa axxxa'
Tulis ungkapan biasa yang akan mencari rentetan
mengikut corak: di tepi terdapat huruf
'a', dan di antaranya - sama ada huruf
'e' dua kali atau huruf 'x'
sebarang bilangan kali.