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':

javascriptlet str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

javascript'! ! abb'

Contoh

Dalam contoh ini pola pencariannya adalah: tiga huruf 'a' atau 1 dan lebih huruf 'b':

javascriptlet str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

javascript'! ! ! ! axx'

Contoh

Dalam contoh ini pola pencariannya adalah: satu atau lebih huruf atau tiga digit:

javascriptlet 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:

javascript'! ! ! 1 12 !'

Contoh

Garis vertikal dapat membagi regex bukan menjadi dua bagian, tetapi menjadi sejumlah bagian:

javascriptlet str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

javascript'! ! ! 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':

javascriptlet str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

javascript'! ! ! exx'

Tugas Praktis

Задание 1

Diberikan string:

javascriptlet 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.

Задание 2

Diberikan string:

javascriptlet 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.