RegExp

# Regex Cheat Sheet

3 min read
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}$

Dika Ardianta

Terima kasih telah membaca artikel di website ini. Jangan ragu untuk menjelajahi artikel lainnya!

Dika Ardianta


More Posts

Comments