
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}$