Lewati ke konten utama
FreeOnlineTools Go
Bahasa Indonesia
Penjelasan

Apa itu Ekspresi Reguler? Penjelasan Lengkap

Oleh FreeOnlineTools Team · Diperbarui pada tanggal 2026-09-02

Jawaban Cepat

Ekspresi reguler adalah pola yang mendeskripsikan sekumpulan string. Menggunakan karakter literal (cocok dengan dirinya sendiri) dan metakarakter (*, +, ?, ., ^, $, [], (), {}, |, \) dengan arti khusus. Regex digunakan untuk validasi, pencarian, ekstraksi, dan penggantian. Gunakan Penguji Regex gratis kami untuk menguji pola terhadap teks di browser Anda.

Perkenalan

Ekspresi reguler (regex atau regexp) adalah rangkaian karakter yang mendefinisikan pola pencarian. Pola ini digunakan oleh algoritma pencarian string untuk menemukan, mencocokkan, atau mengganti teks. Ekspresi reguler berasal dari teori bahasa formal pada tahun 1950an (Stephen Kleene) dan diadopsi ke dalam alat teks Unix (grep, sed, awk) pada tahun 1970an. Saat ini, regex dibangun di hampir semua bahasa pemrograman dan editor teks. Regex sangat kuat — ia dapat memvalidasi format email, mengekstrak data dari log, dan menemukan pola yang rumit — namun sintaksisnya padat dan terkenal sulit dibaca.

Langkah demi Langkah

  1. Memahami literal dan metakarakter

    Karakter literal (a, b, 1, @) cocok dengan dirinya sendiri. Metakarakter memiliki arti khusus: . cocok dengan karakter apa pun, * berarti nol atau lebih, + berarti satu atau lebih, ? berarti nol atau satu, ^ pertandingan dimulai, $ pertandingan berakhir.

  2. Pelajari kelas karakter

    Tanda kurung siku [] mendefinisikan kelas karakter — [aeiou] cocok dengan vokal apa pun, [0-9] cocok dengan digit apa pun, [^0-9] cocok dengan non-digit apa pun. Kelas singkatan: \d (digit), \w (karakter kata), \s (spasi putih), dan negasi huruf besarnya.

  3. Gunakan bilangan

    Quantifier menentukan berapa kali suatu pola diulang: * (0+), + (1+), ? (0 atau 1), {n} (tepatnya n), {n,} (n+), {n,m} (n ke m). Serakah secara default; menambahkan ? untuk pencocokan malas (misalnya, *?).

  4. Kelompok dan jangkar

    Tanda kurung () membuat grup tangkapan. Pergantian | cocok dengan kedua sisi (kucing|anjing). Jangkar ^ dan $ cocok dengan awal dan akhir string. Gunakan ini untuk membangun pola kompleks dari pola yang lebih sederhana.

Contoh

Cocokkan pola seperti email

Masukan: Pattern: [a-z]+@[a-z]+\.[a-z]+

Keluaran: Cocok: [email protected], [email protected]

Cocokkan format nomor telepon

Masukan: Pattern: \d{3}-\d{3}-\d{4}

Keluaran: Matches: 555-123-4567

Ekstrak pasangan nilai kunci

Masukan: Pattern: (\w+)=(\w+)

Keluaran: Matches 'key=value' with group 1 as key, group 2 as value

Masalah Umum

  • Pencocokan serakah memakan waktu berlebihan —.* mencocokkan sebanyak mungkin. Menggunakan .*? untuk pencocokan malas untuk menemukan kecocokan terpendek.
  • Lupa keluar dari karakter khusus —., *, +, ?, dll. adalah karakter spesial. Gunakan \ untuk mencocokkannya secara harfiah (misalnya, \. cocok dengan titik literal).
  • Pelacakan mundur yang dahsyat —pola dengan bilangan bertingkat (misalnya, (a+)+) dapat memakan waktu eksponensial pada masukan tertentu, sehingga menyebabkan serangan ReDoS.
  • Pencocokan berlebihan —tanpa jangkar (^ dan $), suatu pola cocok di mana saja. Gunakan ^...$ untuk mencocokkan seluruh string.

Kiat

  • Mulai dari yang sederhana dan tambahkan kerumitan secara bertahap —men-debug regex yang kompleks sekaligus sangatlah sulit.
  • Gunakan penguji regex untuk bereksperimen dengan pola terhadap contoh teks —lihat kecocokan yang disorot secara real-time.
  • Komentari regex yang kompleks menggunakan mode yang diperluas (tanda/x di beberapa mesin) atau pisahkan menjadi beberapa bagian yang diberi nama.
  • Gunakan Penguji Regex kami untuk menguji pola secara instan di browser Anda —tidak perlu mendaftar, sepenuhnya pribadi.

Alat Terkait

Panduan Terkait

Referensi