Table of Contents
Ini adalah Regex (Regular Expression) Cheat Sheet yang mencakup sintaks dan contoh penggunaan
1. Karakter Dasar
-
.(Titik): Mencocokkan karakter apa pun, kecuali newline.a.b # mencocokkan 'a' diikuti oleh karakter apa pun, diikuti oleh 'b' -
^(Caret): Menandakan awal dari string.^abc # mencocokkan 'abc' hanya di awal string -
$(Dollar): Menandakan akhir dari string.abc$ # mencocokkan 'abc' hanya di akhir string -
\(Backslash): Digunakan untuk escape karakter khusus.\. # mencocokkan titik literal '.'
2. Karakter Kelas (Character Classes)
-
[abc]: Mencocokkan salah satu karakter yang ada di dalam kurung siku.[aeiou] # mencocokkan salah satu huruf vokal -
[^abc]: Mencocokkan karakter apapun kecuali yang ada dalam kelas karakter.[^aeiou] # mencocokkan selain huruf vokal -
[a-z]: Mencocokkan satu karakter dari rentang huruf kecil.[a-z] # mencocokkan huruf kecil -
[0-9]: Mencocokkan satu digit angka.[0-9] # mencocokkan angka -
\d: Mencocokkan digit (setara dengan[0-9]).\d # mencocokkan satu digit angka -
\D: Mencocokkan non-digit (setara dengan[^0-9]).\D # mencocokkan selain digit -
\w: Mencocokkan karakter alfanumerik (huruf, angka, atau underscore).\w # mencocokkan huruf, angka, atau underscore -
\W: Mencocokkan non-karakter alfanumerik.\W # mencocokkan selain alfanumerik -
\s: Mencocokkan whitespace (spasi, tab, newline).\s # mencocokkan spasi, tab, atau newline -
\S: Mencocokkan non-whitespace.\S # mencocokkan selain spasi, tab, atau newline
3. Kuantifikasi (Quantifiers)
-
*: Mencocokkan 0 atau lebih kemunculan karakter sebelumnya.a*b # mencocokkan 'b' dengan 0 atau lebih 'a' sebelumnya -
+: Mencocokkan 1 atau lebih kemunculan karakter sebelumnya.a+b # mencocokkan 'b' dengan 1 atau lebih 'a' sebelumnya -
?: Mencocokkan 0 atau 1 kemunculan karakter sebelumnya (opsional).a?b # mencocokkan 'b' dengan 0 atau 1 'a' sebelumnya -
{n}: Mencocokkan tepat n kemunculan karakter sebelumnya.a{3} # mencocokkan 'aaa' -
{n,}: Mencocokkan n atau lebih kemunculan karakter sebelumnya.a{2,} # mencocokkan 'aa', 'aaa', dll. -
{n,m}: Mencocokkan antara n hingga m kemunculan karakter sebelumnya.a{2,4} # mencocokkan 'aa', 'aaa', atau 'aaaa'
4. Grup dan Alternasi
-
()(Grup): Mengelompokkan bagian dari ekspresi.(abc)+ # mencocokkan 'abc', 'abcabc', dll. -
|(Alternasi): Mencocokkan salah satu dari dua ekspresi yang dipisahkan oleh tanda|.abc|def # mencocokkan 'abc' atau 'def'
5. Assertions (Assertion)
-
(?=...)(Positive Lookahead): Mencocokkan sesuatu hanya jika diikuti oleh pola tertentu.\d(?=\D) # mencocokkan angka yang diikuti oleh non-digit -
(?!...)(Negative Lookahead): Mencocokkan sesuatu hanya jika tidak diikuti oleh pola tertentu.\d(?!\d) # mencocokkan angka yang tidak diikuti angka lainnya -
(?<=...)(Positive Lookbehind): Mencocokkan sesuatu hanya jika didahului pola tertentu.(?<=@)\w+ # mencocokkan kata setelah '@' dalam email -
(?<!...)(Negative Lookbehind): Mencocokkan sesuatu hanya jika tidak didahului pola tertentu.(?<!@)\w+ # mencocokkan kata yang tidak didahului '@'
6. Boundary Matchers
-
\b: Mencocokkan batas kata (word boundary).\bword\b # mencocokkan kata 'word' yang berdiri sendiri -
\B: Mencocokkan posisi yang bukan batas kata.\Bword\B # mencocokkan 'word' di tengah kata
7. Escaped Characters
-
\n: Mencocokkan newline.abc\n # mencocokkan 'abc' diikuti oleh newline -
\t: Mencocokkan tab.abc\t # mencocokkan 'abc' diikuti tab -
\r: Mencocokkan carriage return.abc\r # mencocokkan 'abc' diikuti carriage return
8. Modifiers (Flags)
-
i(ignore case): Mengabaikan kapitalisasi./abc/i # mencocokkan 'abc', 'ABC', 'aBc', dll. -
g(global): Mencocokkan seluruh kemunculan dalam teks./abc/g # mencocokkan setiap kemunculan 'abc' dalam teks -
m(multiline): Mencocokkan^dan$pada setiap baris, bukan hanya di awal/akhir teks./^abc/m # mencocokkan 'abc' di setiap awal baris
9. Contoh Penggunaan Regex
-
Mencocokkan email:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ -
Mencocokkan nomor telepon:
^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}$ -
Mencocokkan tanggal format DD/MM/YYYY:
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/\d{4}$