Perintah 'atau' dalam Ekspresi Reguler Python
Perintah '|', yang merupakan
varian yang lebih kuat dari 'atau'
dibandingkan dengan perintah [ ]. Perintah ini
memungkinkan untuk membagi regex menjadi beberapa
bagian. Dalam hal ini, yang dicari dapat cocok
baik dengan satu bagian regex, atau dengan
bagian lainnya. Mari kita lihat contoh-contohnya.
Contoh
Dalam contoh ini, pola pencariannya adalah:
tiga huruf 'a' atau tiga huruf
'b':
txt = 'aaa bbb abb'
res = re.sub('a{3}|b{3}', '!', txt)
print(res)
Hasil eksekusi kode:
'! ! abb'
Contoh
Dalam contoh ini, pola pencariannya adalah:
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)
Hasil eksekusi kode:
'! ! ! ! axx'
Contoh
Dalam contoh ini, pola pencariannya adalah: satu atau lebih huruf atau tiga digit:
txt = 'a ab abc 1 12 123'
res = re.sub('[a-z]+|\d{3}', '!', txt)
print(res)
Hasil eksekusi kode:
'! ! ! 1 12 !'
Contoh
Garis vertikal dapat membagi regex bukan menjadi dua bagian, tetapi menjadi berapa pun jumlah bagian:
txt = 'aaa bbb ccc ddd'
res = re.sub('a+|b+|c+', '!', txt)
print(res)
Hasil eksekusi kode:
'! ! ! ddd'
Contoh
Jika garis vertikal berada di dalam tanda kurung
bulat, maka 'atau' hanya bekerja
di dalam tanda kurung tersebut.
Sebagai contoh, mari kita temukan string dengan
pola berikut: di awal ada atau
'a', atau 'b' satu kali atau lebih
kali, lalu dua huruf 'x':
txt = 'axx bxx bbxx exx'
res = re.sub('(a|b+)xx', '!', txt)
print(res)
Hasil eksekusi kode:
'! ! ! exx'
Tugas Praktis
Diberikan string:
txt = 'aeeea aeea aea axa axxa axxxa'
Tuliskan regex yang akan menemukan string
dengan pola: di tepinya ada huruf
'a', dan di antara mereka - atau huruf
'e' dalam jumlah berapa pun atau huruf
'x' dalam jumlah berapa pun.
Diberikan string:
txt = 'aeeea aeea aea axa axxa axxxa'
Tuliskan regex yang akan menemukan string
dengan pola: di tepinya ada huruf
'a', dan di antara mereka - atau huruf
'e' dua kali atau huruf 'x'
dalam jumlah berapa pun.