Ekspresi Reguler untuk Pemula: Pencocokan Pola Menjadi Sederhana

Ekspresi reguler (regex) adalah bahasa pencocokan pola yang didukung di setiap bahasa pemrograman utama. Menguasai 15–20 konsep inti memungkinkan Anda menulis regex untuk validasi email, ekstraksi URL, pemformatan nomor telepon, dan pembersihan data.

Regular expression pattern diagram with labeled components and match highlighting

Apakah Ekspresi Reguler itu?

Ekspresi reguler (regex atau regexp) adalah rangkaian karakter yang menentukan pola penelusuran. Mereka dibangun di hampir semua bahasa pemrograman dan digunakan untuk:

  • Validasi: Apakah string ini cocok dengan pola alamat email yang valid?
  • Penelusuran: Temukan semua nomor telepon dalam 10.000 kata ini dokumen.
  • Penggantian: Ganti semua kemunculan "warna" dengan "warna".
  • Ekstraksi: Tarik semua URL dari blok HTML.
  • Pemisahan: Pisahkan string dengan koma, namun jangan koma di dalam tanda kutip.

Metakarakter Inti dan Kecocokannya

Regular expression metacharacters and quantifiers quick reference cheatsheet

KarakterKecocokanContoh
.Apa saja karakter tunggal kecuali baris baruc.t cocok dengan "cat", "cot", "potong"
dDigit apa saja (0–9)ddd cocok "123". _)w+ cocok "hello_world"
sSpasi (spasi, tab, baris baru)s+ cocok dengan semua spasi
D Non-digitD+ cocok dengan "halo"
WNon-kata karakterW cocok dengan "!" atau ","
STanpa spasi

Escape: Untuk mencocokkan metakarakter literal, escape dengan \. Untuk mencocokkan . literal, gunakan \.


Pengukur: Pola Berulang

Regex flags comparison showing global g, case-insensitive i, and multiline m flags

PengukurMaknaContoh
*0 atau lebih (serakah)ab*c cocok dengan "ac", "abc", "abbc"
+1 atau lebih (serakah)ab+c cocok dengan "abc", "abbc" tetapi tidak "ac"
?0 atau 1 (opsional)colou?r cocok dengan "warna" dan "warna"
{n}Tepat n kalid{4} sama persis dengan 4 digit
{n,m}Antara n dan m kalih{3,5} cocok dengan 3, 4, atau 5 digit
*?0 atau lebih (malas)Cocok sebagai sesedikit mungkin
+?1 atau lebih (malas)Cocok sesedikit mungkin

Kelas Karakter dan Jangkar

Regex capture group extraction breakdown showing isolated substring matching

Kelas karakter [...]: Cocokkan salah satu karakter dari kumpulan.

  • [aeiou] — cocok dengan vokal apa pun
  • [A-Z] — huruf besar apa pun letter
  • [0-9] — digit apa pun (sama dengan d)
  • [^aeiou] — karakter apa pun yang BUKAN vokal (negasi)

Anchor: Cocokkan posisi, bukan karakter.

  • ^ — cocok dengan awal string
  • $ — cocok dengan akhir string
  • — cocok dengan batas kata

Reguler Praktis: Email, Telepon, Pola URL

ToolDolfen in-browser regular expression tester and debugger pipeline

Five essential production regex patterns for email, date, URL, and phone numbers

Validasi email dasar:

^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$

Nomor telepon AS (berbagai format):

^(\+1)?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

Ekstraksi URL dari teks:

https?:\/\/[\w\-]+(\.[\w\-]+)+[/#?]?[\w\-._~:/?#[\]@!$&'()*+,;=%]*

Uji dan debug semua pola ini secara real-time menggunakan Penguji Regex (Regex Tester) gratis di sisi klien dengan penyorotan pencocokan instan.

Panduan Pendamping yang Direkomendasikan

Jelajahi tutorial dan utilitas pelengkap dari cluster topik ini untuk menyempurnakan alur kerja digital Anda:

Memahami Data EXIF: Apa yang Diungkap Foto Anda Tentang Kamera, Waktu, dan LokasiTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Panduan Privasi Foto Terbaik: Hapus Metadata GPS dan EXIF Sebelum DibagikanTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Cara Memberi Tanda Air pada Foto untuk Perlindungan Hak Cipta: Hamparan Teks dan LogoTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Cara Mengompresi Gambar Secara Online Tanpa Kehilangan KualitasAlur kerja lintas format pelengkap yang menghubungkan data dan media terkait alat.
Utilitas yang Direkomendasikan: Penguji RegexJalankan alur kerja ini secara langsung di browser Anda tanpa unggahan server dan 100% privasi sisi klien.
Penguji Regex (Regex Tester)
Penguji Regex (Regex Tester)

Pertanyaan yang Sering Diajukan

Temukan jawaban cepat dan terverifikasi untuk pertanyaan umum tentang alur kerja ini.

Apakah ekspresi reguler sama di semua bahasa pemrograman?

Sintaks inti sebagian besar terstandarisasi (berdasarkan ekspresi reguler yang kompatibel dengan Perl, PCRE), tetapi implementasinya berbeda dalam kasus edge. JavaScript, Python, Ruby, dan PHP sangat mirip. JavaScript tidak memiliki dukungan melihat ke belakang di mesin lama; Python menggunakan (?P<name>...) untuk grup bernama; bendera yang tersedia berbeda antar bahasa.

Apakah regex peka huruf besar-kecil secara default?

Ya, regex peka huruf besar-kecil secara default. Untuk mengaktifkan pencocokan peka huruf besar-kecil, gunakan tanda i: /pattern/i dalam JavaScript, re.IGNORECASE dengan Python, atau REGEXP_REPLACE dengan susunan peka huruf besar-kecil dalam SQL.

Apa perbedaan antara bilangan serakah dan malas?

Pembilang serakah (* + ?) sebisa mungkin cocok dengan tetap membiarkan pola keseluruhannya cocok. Pembilang malas (*? +? ??) sesedikit mungkin cocok. Contoh: dengan teks '<b>tebal</b>', <.*> cocok dengan seluruh string (serakah), sedangkan <.*?> hanya cocok dengan '<b>' (malas).

Bilal Ahmad