Pengantar Ekspresi Reguler dalam JavaScript
Ekspresi reguler adalah perintah untuk pencarian dan penggantian yang kompleks (atau sekadar pencarian). Mereka memungkinkan untuk melakukan hal-hal yang sangat menarik, tapi sayangnya, cukup sulit untuk dikuasai.
Ada beberapa metode JavaScript untuk
bekerja dengan ekspresi reguler. Kita akan mulai
berkenalan dengannya menggunakan contoh replace
- Anda sudah familiar dengan metode ini: parameter pertamanya
menerima apa yang akan diganti, dan parameter kedua
- dengan apa akan diganti. Dan metode itu sendiri diterapkan
pada string di mana penggantian dilakukan:
'bab'.replace('a', '!'); // mengembalikan 'b!b'
Parameter pertama dari metode ini dapat menerima
bukan hanya string, tetapi juga ekspresi reguler.
Ekspresi reguler mewakili serangkaian
perintah, yang terletak di dalam garis miring /.
Garis miring ini disebut sebagai pembatas
ekspresi reguler.
Ekspresi reguler itu sendiri terdiri dari dua jenis karakter: dari karakter yang mewakili diri mereka sendiri dan dari karakter-perintah, yang disebut karakter khusus.
Huruf dan angka mewakili diri mereka sendiri. Dalam contoh
berikutnya, kita akan menggunakan ekspresi reguler
untuk mengganti huruf 'a' dengan !:
'bab'.replace(/a/, '!'); // mengembalikan 'b!b'
Sedangkan titik adalah karakter khusus
dan mewakili karakter apa pun. Dalam contoh
berikutnya, kita akan menemukan string berdasarkan pola ini:
huruf 'x', lalu karakter apa pun, lalu
huruf 'x' lagi:
'xax eee'.replace(/x.x/, '!'); // mengembalikan '! eee'
Setelah pembatas, Anda dapat menulis pengubah
- perintah yang mengubah properti umum
dari ekspresi reguler. Misalnya, pengubah
g mengaktifkan mode pencarian dan penggantian
global - tanpanya, regex hanya mencari
kecocokan pertama, sedangkan dengannya - semua kecocokan.
Dalam contoh berikut, pengubah g
tidak ditentukan dan regex hanya akan menemukan kecocokan
pertama:
'aab'.replace(/a/, '!'); // mengembalikan '!ab'
Dan sekarang regex akan menemukan semua kecocokan:
'aab'.replace(/a/g, '!'); // mengembalikan '!!b'
Diberikan string:
let str = 'ahb acb aeb aeeb adcb axeb';
Tulis regex yang akan menemukan string
'ahb', 'acb', 'aeb'
berdasarkan pola: huruf 'a', karakter apa pun,
huruf 'b'.
Diberikan string:
let str = 'aba aca aea abba adca abea';
Tulis regex yang akan menemukan string
'abba', 'adca', 'abea'
berdasarkan pola: huruf 'a', 2
karakter apa pun, huruf 'a'.
Diberikan string:
let str = 'aba aca aea abba adca abea';
Tulis regex yang akan menemukan string
'abba' dan 'abea', tanpa menangkap
'adca'.