.
Karakter apa pun (kecuali baris baru; dengan flag /s, juga baris baru)
\d
Digit apa pun (0-9)
\D
Bukan digit
\w
Karakter kata (a-z, A-Z, 0-9, _)
\W
Bukan karakter kata
\s
Spasi putih (spasi, tab, baris baru)
\S
Bukan spasi putih
\b
Batas kata
^ $
Awal / akhir string (atau baris, dengan flag /m)
*
Nol atau lebih dari elemen sebelumnya
+
Satu atau lebih dari elemen sebelumnya
?
Nol atau satu dari elemen sebelumnya (opsional)
{n,m}
Antara n dan m dari elemen sebelumnya
(...)
Capture group — disimpan ke $1, $2, …
(?:...)
Grup non-capture — berguna untuk alternasi tanpa menangkap
(?<n>...)
Capture group bernama — direferensikan sebagai $<n>
[abc]
Kelas karakter — salah satu dari a, b, atau c
[^abc]
Kelas karakter negasi — karakter apa pun kecuali a, b, c
a|b
Alternasi — cocokkan a atau b
(?=...)
Lookahead positif — diikuti oleh
(?!...)
Lookahead negatif — tidak diikuti oleh
(?<=...)
Lookbehind positif — didahului oleh
(?<!...)
Lookbehind negatif — tidak didahului oleh
$1 $<n>
Backreference dalam string pengganti — bernomor atau bernama