Perintah 'atau' dalam Ekspresi Reguler JavaScript
Dalam pelajaran ini kita akan membahas perintah
'|', yang merupakan varian
'atau' yang lebih kuat dibandingkan
dengan perintah [ ]. Perintah ini memungkinkan
untuk membagi regex menjadi beberapa bagian.
Dalam hal ini, yang dicari dapat cocok 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':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'! ! abb'
Contoh
Dalam contoh ini pola pencariannya adalah: tiga
huruf 'a' atau 1 dan lebih
huruf 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'! ! ! ! axx'
Contoh
Dalam contoh ini pola pencariannya adalah: satu atau lebih huruf atau tiga digit:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'! ! ! 1 12 !'
Contoh
Garis vertikal dapat membagi regex bukan menjadi dua bagian, tetapi menjadi sejumlah bagian:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'! ! ! ddd'
Contoh
Jika garis vertikal berada di dalam tanda kurung
bulat, maka 'atau' hanya bekerja di dalam
tanda kurung tersebut.
Sebagai contoh, mari kita cari string dengan
pola berikut: di awal ada atau 'a',
atau 'b' satu kali atau lebih, lalu
dua huruf 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:
'! ! ! exx'
Tugas Praktis
Diberikan string:
let str = 'aeeea aeea aea axa axxa axxxa';
Tuliskan regex yang akan menemukan string
dengan pola: di tepi ada huruf 'a',
dan di antaranya - atau huruf 'e' dalam
jumlah berapa pun atau huruf 'x' dalam
jumlah berapa pun.
Diberikan string:
let str = 'aeeea aeea aea axa axxa axxxa';
Tuliskan regex yang akan menemukan string
dengan pola: di tepi ada huruf 'a',
dan di antaranya - atau huruf 'e' dua kali
atau huruf 'x' dalam jumlah berapa pun.