Panduan Ringkas dan Visualisasi Regex

Pelajari simbol ungkapan biasa dengan cepat, uraikan sesuatu pola kepada bahagian yang mudah difahami, dan uji pada teks anda sendiri. Semuanya berjalan dalam pelayar anda.

/
/
Tampalkan sebuah ungkapan biasa untuk melihat penjelasannya bagian demi bagian.
Penanda
Bagian-bagian
Ketik sebuah pola di atas untuk melihat bagian-bagiannya.

Opsional. Ketik atau tampalkan teks, dan kecocokan muncul sambil anda mengetik.

Panduan ringkas


. Aksara apa pun kecuali pergantian baris Contoh: a.c
\d Sebuah angka (0-9) Contoh: \d+
\D Aksara apa pun yang bukan angka Contoh: \D+
\w Aksara kata (a-z, A-Z, 0-9, _) Contoh: \w+
\W Aksara apa pun yang bukan aksara kata Contoh: \W+
\s Sebuah aksara spasi Contoh: \s+
\S Aksara apa pun yang bukan spasi Contoh: \S+
^ Awal teks Contoh: ^hello
$ Akhir teks Contoh: world$
\b Batas kata Contoh: \bword\b
\B Posisi yang bukan batas kata Contoh: \Bword\B
[abc] Himpunan aksara Contoh: [abc]+
[^abc] Himpunan yang dinegasikan Contoh: [^abc]+
[a-z] Himpunan aksara Contoh: [a-z0-9]+
(abc) Grup tangkap Contoh: (abc)
(?:abc) Grup tanpa penangkapan Contoh: (?:abc)+
(?<n>) Grup bernama Contoh: (?<year>\d{4})
\1 Rujukan balik Contoh: (\w)\1
a|b Pilihan Contoh: cat|dog
? Opsional (0 atau 1) Contoh: colou?r
* Mengulang 0 kali atau lebih Contoh: a*
+ Mengulang 1 kali atau lebih Contoh: a+
{m,n} Mengulang sejumlah kali tertentu Contoh: a{2,4}
+? Sama, tetapi sependek mungkin Contoh: <.+?>
(?=) Hanya jika diikuti oleh Contoh: foo(?=bar)
(?!) Hanya jika tidak diikuti oleh Contoh: foo(?!bar)
(?<=) Hanya jika didahului oleh Contoh: (?<=\$)\d+
(?<!) Hanya jika tidak didahului oleh Contoh: (?<!\$)\d+
\. Memperlakukan aksara berikutnya sebagai aksara biasa Contoh: 3\.14
\n Pergantian baris Contoh: line\n
\t Tab Contoh: \tindented

Pola validasi yang umum


KegunaanPolaKeteranganContoh yang cocok
Alamat email^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$Memeriksa bentuk umum sebuah alamat email.user@example.com
Nomor telepon (AS)^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$Cocok dengan nomor sepuluh digit, dengan atau tanpa tanda hubung, spasi, atau tanda kurung.123-456-7890
Kode pos (AS)^\d{5}(-\d{4})?$Cocok dengan kode pos lima dan sembilan digit.90210-1234
Tanggal (YYYY-MM-DD)^\d{4}-\d{2}-\d{2}$Cocok dengan format tanggal angka yang sederhana.2026-09-16
Alamat IP (IPv4)^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$Cocok dengan bentuk alamat IPv4, tanpa memeriksa apakah tiap bagian berada di antara 0 dan 255.192.168.1.1

Pola-pola ini memeriksa bentuk sebuah nilai, bukan apakah nilai itu benar-benar ada. Sebuah alamat boleh sepenuhnya cocok dengan pola email namun tetap tidak sampai, jadi gunakan untuk menangkap salah ketik sejak awal, jangan pernah sebagai satu-satunya validasi.

Apa yang disediakan alat ini


Rujukan ringkas simbol ungkapan biasa, penguraian yang mengubah pola menjadi kalimat biasa, dan penguji yang menunjukkan apa yang cocok di teks anda sendiri.

Kapan digunakan


Guna saat menulis sebuah pola, saat membaca pola orang lain, atau saat menjelaskan dasar-dasar regex kepada rekan kerja. Membaca pola dengan suara keras, sepotong demi sepotong, biasanya justru itu yang membuatnya masuk akal.

Keterbatasan


Penguraian mengikuti ungkapan biasa JavaScript, karena itulah yang dijalankan pelayar anda. Dialek lain berbeda: PCRE, Python, Java, dan .NET masing-masing menambahkan sintaksis sendiri, sedangkan perkakas POSIX seperti grep dan sed memakai sintaksis yang lebih tua dan lebih kecil. Penguji menjalankan pola anda di utas terpisah dan menghentikannya setelah beberapa detik, sehingga pola yang mundur tanpa henti tidak dapat membekukan halaman.

Cara menggunakan panduan ringkas


Cari sebuah simbol, atau tampalkan sebuah pola dan baca sebagian demi sebagian.

  1. Layari atau cari di daftar simbol.
  2. Tampalkan sebuah pola untuk melihatnya terbagi menjadi bagian-bagian.
  3. Ketik contoh teks untuk melihat apa yang benar-benar cocok, lalu perbaiki polanya.

Pertanyaan yang sering diajukan


Apakah alat ini mengirim pola saya ke mana pun?
Tidak. Penguraian maupun carian kecocokan berjalan di pelayar anda, dan baik pola maupun teks tidak dikirim ke mana pun.

Dialek regex mana yang diikutinya?
Dialek JavaScript, karena mesin itulah yang mengerjakannya. Sebagian besar isi halaman ini — kelas aksara, grup, pengkuantitas, jangkar — sama di semua dialek.

Bolehkah saya menguji pola saya di sini?
Boleh. Ketik teks di kotak uji, kecocokan akan disorot, lengkap dengan grup yang tertangkap untuk tiap kecocokan.

Mengapa pola saya dihentikan?
Sebagian pola memakan waktu eksponensial pada teks yang nyaris cocok — penyebab lazimnya adalah pengkuantitas di dalam pengkuantitas lain, seperti (a+)+b. Penguji menyerah setelah beberapa detik alih-alih membekukan halaman, dan penghentian itu sendiri sudah menjadi peringatan berguna: pola yang sama akan membuat sebuah pelayan macet.

Wikipedia — Regular expression
Wikipedia — PCRE
Wikipedia — Finite-state machine
Wikipedia — ReDoS
Wikipedia — Backtracking