Lembar Ringkas Regex

Langkah 1 / 3 33%

Pilih mesin regex

Mulailah dengan mesin yang Anda gunakan. Referensi akan menyembunyikan sintaks yang tidak berlaku untuk pilihan itu.

Gunakan referensi interaktif ini untuk membandingkan sintaks ekspresi reguler umum sebelum menempelkannya ke kode. Pilih JavaScript, PCRE2/PHP, Python re, .NET, atau tampilan semua mesin; lalu pilih topik dan cari entri yang ditampilkan. Referensi ini menandai sintaks khusus keluarga mesin karena token yang dapat dikompilasi di satu mesin dapat ditolak atau bermakna lain di mesin lain. Pencarian dan penyalinan terjadi di browser Anda, dan halaman ini tidak menjalankan pola pada teks Anda.

Cara memakai lembar ringkas regex

  1. 1

    Pilih mesin

    Mulailah dengan JavaScript, PCRE2/PHP, Python re, .NET, atau bandingkan semuanya. Tampilan terfokus menghilangkan entri yang tidak berlaku untuk mesin yang dipilih.

  2. 2

    Pilih topik

    Buka jangkar, kelas karakter, kuantifier, grup, lookaround, bentuk pola umum, atau bendera dan opsi.

  3. 3

    Cari dan salin secara lokal

    Cari token dan deskripsi langsung di halaman, lalu pilih token untuk menyalinnya. Teks pencarian tidak dikirim ke server atau ditambahkan ke URL.

  4. 4

    Verifikasi pada runtime sebenarnya

    Gunakan mesin, bendera, dan API yang sesuai dalam proyek Anda untuk mengompilasi dan menguji ekspresi akhir. Referensi ini menjelaskan sintaks, bukan memvalidasi data production.

Kompatibilitas itu penting

Ekspresi reguler bukan satu bahasa universal. Referensi ini memisahkan sintaks yang tampak mirip tetapi tidak berpindah dengan bersih antar mesin.

Fitur JavaScript RegExp PCRE2 / PHP Python re .NET
Awal mutlak Tidak ada \A \A \A \A
Akhir mutlak Tidak ada \z \z \Z \z
Properti Unicode \p{L} Gunakan mode u atau v Didukung Tidak ada di re bawaan Didukung
Tangkapan bernama (?<name>...) (?<name>...) atau (?P<name>...) (?P<name>...) (?<name>...)
Referensi balik bernama \k<name> \k<name> atau (?P=name) (?P=name) \k<name>
Pencocokan global Bendera g dan API pencocokan API berulang seperti preg_match_all API berulang seperti finditer API berulang seperti Matches

\d dan \w perlu perhatian khusus. Dalam JavaScript, \d tetap digit ASCII 0-9, dan \w pada dasarnya tetap karakter kata ASCII bahkan dengan u. Mesin lain dapat menerapkan aturan sadar Unicode menurut mode dan konfigurasinya. Jika perilaku Unicode penting, tulis dan uji properti atau kelas yang tepat.

Jangkar dan batas

Token Yang dinyatakan Catatan portabilitas
^ Awal masukan atau baris dalam mode multibaris Tersedia di keempat keluarga.
$ Akhir masukan atau baris dalam mode multibaris Tersedia di keempat keluarga; rincian baris baru akhir berbeda.
\b Batas kata Definisi karakter kata bergantung pada mesin dan mode.
\A Awal subjek mutlak PCRE2, Python, dan .NET; bukan JavaScript.
\z Akhir subjek mutlak PCRE2 dan .NET; Python memakai \Z.
\Z Akhir subjek Python PCRE2 dan .NET juga dapat cocok sebelum baris baru terakhir; gunakan \z untuk akhir mutlak di sana.

Grup dan lookaround

Token Arti Batas penting
(abc) Grup tangkapan Tersedia di keempat keluarga.
(?:abc) Grup non-tangkapan Tersedia di keempat keluarga.
(?<name>abc) Grup bernama Sintaks JavaScript, PCRE2, dan .NET.
(?P<name>abc) Grup bernama Sintaks Python; PCRE2 juga menerimanya.
(?=abc) / (?!abc) Lookahead positif / negatif Tersedia di keempat keluarga.
(?<=abc) / (?<!abc) Lookbehind positif / negatif Keempat keluarga mendukungnya, tetapi panjang yang diizinkan berbeda.

Lookbehind adalah jebakan portabilitas umum. Python re memerlukan lookbehind berlebar tetap. Dukungan JavaScript bergantung pada runtime yang Anda gunakan. Uji pola yang tepat pada runtime tertua yang Anda dukung, bukan hanya mengandalkan satu baris di lembar ringkas.

Bentuk pola, bukan validator lengkap

Entri pola umum sengaja hanya menggambarkan bentuk. Contohnya, ^\d{4}-\d{2}-\d{2}$ menerima 2026-99-99, dan pola sederhana berbentuk email tidak dapat menerapkan standar alamat email lengkap. Uraikan tanggal, URL, dan pengenal terstruktur dengan pustaka yang tepat setelah pemeriksaan format awal.

Bentuk Pola contoh Yang tidak dibuktikan
Desimal bertanda ^-?\d+(?:\.\d+)?$ Tanda desimal lokal, pengelompokan, rentang angka, atau presisi.
Teks berbentuk email ^[\w.+-]+@[\w-]+\.[\w.-]+$ Alamat email yang dapat dikirim atau lengkap menurut standar.
Teks berbentuk URL HTTP(S) ^https?://\S+$ URL yang aman, dapat diurai, atau dapat dijangkau.
Bentuk tanggal ISO ^\d{4}-\d{2}-\d{2}$ Tanggal kalender nyata.
Karakter slug ASCII ^[A-Za-z0-9_-]+$ Aturan aplikasi Anda tentang kapitalisasi, pemisah, atau kata cadangan.

Bendera dan opsi

Jangan salin bendera tanpa memeriksa API host. JavaScript menulis /pattern/g, Python meneruskan re.I atau re.X, .NET dapat memakai RegexOptions, dan PCRE2/PHP biasanya menggunakan pembatas serta modifier akhir. g adalah bendera pencocokan global JavaScript, bukan modifier PCRE2; pencocokan PCRE2 berulang biasanya dikendalikan API PHP. Mode diperluas x tersedia di PCRE2, Python, dan .NET, tetapi bukan bendera JavaScript.

Pertanyaan yang Sering Diajukan

Tidak. Ini adalah referensi sintaks dengan kontrol pencarian dan salin lokal di browser. Gunakan penguji regex serta runtime aplikasi Anda untuk mengompilasi pola dan menguji masukan representatif.

Sebagian token yang tampak familier tidak portabel. Python re bawaan memakai (?P<name>…) untuk grup bernama, JavaScript memakai (?<name>…), dan JavaScript tidak mendukung jangkar mutlak \A atau \z.

Tidak. Dalam JavaScript, \d adalah digit ASCII dan \w pada dasarnya karakter kata ASCII bahkan dengan bendera u. Mesin lain memiliki mode dan opsi Unicode berbeda, jadi uji perilaku yang dibutuhkan data Anda.

Gunakan hanya sebagai pemeriksaan bentuk cepat. Contoh itu tidak membuktikan email dapat dikirim, URL aman atau dapat dijangkau, atau tanggal ada di kalender. Gunakan parser atau validator khusus untuk aturan production.

Alat Terkait