🧩
← Kembali ke Panduan

Regex untuk Pemula: Cara Menulis Ekspresi Reguler

· Tag: regex-beginners, regular-expression-guide, regex-tutorial, regex-patterns, learn-regex

Regex untuk Pemula

Ekspresi reguler — regex — adalah pola yang mendeskripsikan teks. Dengan regex, Anda dapat mencari string, memvalidasi input, mengekstrak data, dan melakukan find-and-replace yang kompleks menggunakan satu ekspresi ringkas. Setelah Anda memahami dasar-dasarnya, regex menjadi salah satu alat paling powerful dalam perangkat pemrograman Anda.

Apa Itu Ekspresi Reguler?

Regex adalah urutan karakter yang mendefinisikan pola pencarian. Pola \d{3}-\d{2}-\d{4} mencocokkan nomor Social Security AS: tiga digit, tanda hubung, dua digit, tanda hubung, empat digit.

Mesin regex tersedia di hampir setiap bahasa pemrograman — JavaScript, Python, Java, Ruby, Go — semuanya dengan dukungan bawaan.

Karakter Literal

Sebagian besar karakter mencocokkan dirinya sendiri. Pola cat mencocokkan string literal "cat" di mana pun muncul.

Pattern: cat
Matches: "cat" in "The cat sat on the mat."
Matches: "cat" in "catalog"

Pencocokan literal mudah dilakukan tetapi terbatas. Kekuatan sebenarnya berasal dari metakarakter.

Metakarakter

Karakter-karakter ini memiliki makna khusus dan harus di-escape dengan \ untuk mencocokkan secara literal:

. ^ $ * + ? { } [ ] \ | ( )

Kelas Karakter

Kelas karakter mencocokkan satu karakter dari suatu himpunan.

Notasi Kurung Siku

| Pola | Mencocokkan | |---------|---------| | [aeiou] | Vokal apa pun | | [0-9] | Digit apa pun | | [a-zA-Z] | Huruf apa pun | | [^0-9] | Karakter apa pun yang BUKAN digit |

Kelas Predefined

| Singkatan | Deskripsi | |-----------|-------------| | \d | Digit apa pun (sama dengan [0-9]) | | \w | Huruf, digit, atau underscore | | \s | Spasi, tab, baris baru | | \D | Non-digit apa pun | | \W | Karakter non-word apa pun | | \S | Non-whitespace apa pun | | . | Karakter apa pun kecuali baris baru |

Quantifier

Quantifier mengontrol berapa kali elemen sebelumnya harus muncul.

| Quantifier | Arti | Contoh | Mencocokkan | |------------|---------|---------|---------| | * | Nol atau lebih | a* | "", "a", "aa" | | + | Satu atau lebih | a+ | "a", "aa", "aaa" | | ? | Nol atau satu | colou?r | "color", "colour" | | {3} | Tepat N | \d{3} | "123" | | {2,4} | Antara N dan M | \d{2,4} | "12", "123", "1234" |

Contoh

\d+     → "42" in "Answer is 42"
https?://  → "http://" and "https://"

Anchor

Anchor mencocokkan posisi, bukan karakter.

| Anchor | Arti | |--------|---------| | ^ | Awal string | | $ | Akhir string | | \b | Batas kata | | \B | Non-batas kata |

^hello   → mencocokkan "hello" hanya di awal
end$     → mencocokkan "end" hanya di akhir
\bword\b → mencocokkan "word" sebagai kata utuh, bukan di dalam "sword"

Grup dan Alternasi

Capturing group ( ) mengekstrak bagian yang cocok:

(\d{3})-(\d{4}) → "555-1234", menangkap "555" di grup 1, "1234" di grup 2

Non-capturing group (?: ) mengelompokkan tanpa mengekstrak:

(?:https?|ftp):// → "http://", "https://", "ftp://"

Alternasi | bertindak sebagai OR:

cat|dog|bird → mencocokkan "cat", "dog", atau "bird"

Contoh Regex Praktis

| Kasus Penggunaan | Pola | |----------|---------| | Telepon AS | \d{3}-\d{3}-\d{4} | | Email (sederhana) | \S+@\S+\.\S+ | | Alamat IP | \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | | Hashtag | #[a-zA-Z]\w* | | Waktu (JJ:MM) | [01]\d|2[0-3]:[0-5]\d |

Cara Menguji Pola Regex

Selalu uji pola secara interaktif:

  1. Masukkan pola regex Anda.
  2. Masukkan string uji.
  3. Lihat bagian mana yang cocok secara real time.
  4. Sesuaikan dan ulangi.

Gunakan alat penguji regex untuk bereksperimen dengan pola. Alat ini menyorot kecocokan, menampilkan capture group, dan membantu Anda memahami dengan tepat apa yang dilakukan setiap bagian dari ekspresi Anda.

Regex untuk Pemula: Cara Menulis Ekspresi Reguler - CoolTool