Lembar Cheat/Dasar Regex
Ekspresi Reguler (regex atau regexp) adalah alat yang sangat berguna untuk mengidentifikasi pola tertentu dalam teks apa pun, yang membantu mengekstrak informasi apa pun format teksnya.
Regex dapat digunakan untuk memvalidasi input, scrapping web, menemukan string tertentu dalam dokumen, validasi sintaks untuk kompiler, dan banyak contoh lainnya.
Regex banyak digunakan dalam beberapa bahasa pemrograman menggunakan sintaks yang hampir sama, jadi artikel ini berpura-pura menunjukkan operator regex dasar.
Bagian berikut akan menunjukkan berbagai operator yang digunakan untuk regex dan beberapa contoh. Anda juga dapat menguji ekspresi reguler Anda dengan beberapa penjelasannya di halaman ini.
Jangkar
Karakter | Gunakan |
---|---|
Menunjukkan awal string. Itu hanya akan cocok dengan string yang dimulai dengan karakter yang mengikuti | |
$ | Menunjukkan akhir dari string. Ini akan cocok dengan string apa pun yang diakhiri dengan karakter sebelum simbol '$' |
abc | Cocok dengan string apa pun yang berisi urutan karakter 'abc' di atasnya |
Beberapa contohnya adalah:
Contoh | Deskripsi | Contoh string yang cocok |
---|---|---|
^A | Mencocokkan semua string yang dimulai dengan A | “A n apel ada di pohon”, “A restoran baru” |
end$ | Mencocokkan string yang diakhiri dengan urutan karakter 'akhir' | “Akhir ”, “Mari kita lakukanakhir ” |
^Halo dunia$ | Cocok dengan string yang tepat 'Hello world' | “Halo dunia ” |
pesan | Cocok dengan string apa pun yang berisi teks 'order' di dalamnya | “Pesanan saya nomor 54” |
Quantifier
Quantifier digunakan untuk mewakili waktu yang kita inginkan agar karakter atau kelompok karakter sebelumnya muncul di pertandingan kita.
Karakter | Gunakan |
---|---|
Menunjukkan nol atau lebih | |
+ | Menunjukkan satu bijih lagi |
Menunjukkan nol atau satu | |
x{n} | Digunakan untuk menentukan berapa kali ('n') karakter sebelumnya ('x') akan muncul |
x{n, } | Digunakan untuk menentukan berapa kali minimum ('n') karakter sebelumnya ('x') akan muncul |
x{n, m} | Digunakan untuk menentukan jumlah minimum ('n') dan maksimum ('m') berapa kali karakter sebelumnya ('x') akan muncul |
Beberapa contohnya adalah:
Contoh | Deskripsi | Contoh string yang cocok |
---|---|---|
halo!* | Cocok dengan string apa pun 'halo' diikuti oleh nol atau lebih karakter '!' | “halo ”, “halo! ”, halo!! |
halo!+ | Mencocokkan string apa pun 'halo' diikuti oleh satu atau lebih karakter '!' | “halo! ”, “halo!! ” |
halo!? | Cocok dengan sembarang string 'halo' diikuti dengan nol atau satu karakter '!' | “halo ”, “halo! ” |
(ha){2,4} | Mencocokkan string apa pun yang mengulangi grup karakter 'ha' dua hingga empat kali | “haha ”, “hahaha ”, “hahahaha ” |
ATAU operator
Karakter | Gunakan |
---|---|
a|b | Cocok dengan string apa pun yang berisi 'a' atau 'b' |
[ ] | Digunakan untuk merepresentasikan daftar, sehingga cocok dengan string yang berisi salah satu karakter di dalam daftar |
Beberapa contohnya adalah:
Contoh | Deskripsi | Contoh string yang cocok |
---|---|---|
se(a|e) | Mencocokkan string apa pun yang berisi teks 'se' diikuti dengan 'a' atau 'e' | “lihat ”, “laut ” |
a[bcd] | Cocok dengan string apa pun yang berisi 'a' diikuti dengan 'b', 'c', atau 'd' | “ab ”, “ac ”, “iklan ” |
Kelas karakter
Operator kelas karakter memungkinkan Anda untuk mencocokkan karakter di dalam kategori (kelas). Operator-operator ini menawarkan negasi mereka, yang sama dengan operator normal tetapi dalam huruf besar.
Karakter | Gunakan |
---|---|
\d | Cocok dengan satu digit karakter |
\w | Cocok dengan satu kata karakter (huruf, angka, dan garis bawah) |
\s | Cocok dengan satu spasi putih karakter, termasuk tab dan jeda baris |
\D | Cocok dengan satu non-digit karakter |
\W | Cocok dengan satu bukan kata karakter (huruf, angka, dan garis bawah) |
\S | Cocok dengan satu spasi non-putih karakter, termasuk tab dan jeda baris |
. | Cocok dengan satu karakter apa pun |
Bendera
Regex biasanya menggunakan bentuk /pattern/
. Pada akhirnya, kita dapat menggunakan flag berikut:
Tandai | Deskripsi |
---|---|
g | Yang global flag digunakan untuk mencari semua kecocokan individu di dalam string. Jika tidak digunakan, ekspresi akan kembali setelah kecocokan pertama |
m | Multiline flag memungkinkan untuk menggunakan ^ dan $ sebagai awal dan akhir baris, bukan awal dan akhir string, yang dapat berisi banyak baris |
i | Yang tidak peka flag membuat ekspresi reguler tidak peka huruf besar/kecil |
Kesimpulan
Regex memiliki banyak kegunaan. Anda dapat menggabungkan operator sederhana yang dijelaskan dalam artikel ini untuk membuat pencarian pola yang kompleks. Salah satu contohnya adalah untuk memvalidasi alamat email, ini dapat dilakukan dengan ekspresi reguler berikut:
^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$
Contoh ini cocok dengan string lengkap yang mencari pola dengan urutan berikut:
[\w-\.]+
:kombinasi dari satu atau lebih karakter kata, tanda hubung, atau titik@
:simbol @([\w-]+\.)+
:satu atau lebih kombinasi dari satu atau lebih karakter kata atau tanda hubung yang diakhiri dengan titik (untuk domain dan subdomain pada email seperti email.rackspace.)[\w-]{2,4}
:kombinasi 2, 3, atau 4 karakter kata atau tanda hubung untuk bagian akhir email (com)
Sama seperti contoh ini, ada banyak contoh lain yang dapat dengan mudah diimplementasikan untuk tujuan yang berbeda.