Lembar Ringkas Regex
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
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
Pilih topik
Buka jangkar, kelas karakter, kuantifier, grup, lookaround, bentuk pola umum, atau bendera dan opsi.
-
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
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
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Penghitung FPS
Ukur FPS browser dengan requestAnimationFrame: penghalusan, frame rate minimum dan maksimum, ambang peringatan, dan grafik opsional. Berjalan lokal, tanpa unggahan dan tanpa API.
Generator Warna Acak
Buat 1 hingga 50 warna HEX acak dengan contoh warna yang bisa dipratinjau, disalin, dan dipakai di CSS, pengujian, atau eksplorasi palet.
Penyederhana Aljabar Boolean
Evaluasi ekspresi Boolean untuk setiap kombinasi masukan dan lihat tabel kebenaran lengkapnya. Mendukung hingga lima variabel dan operator &, |, !, dan ^.
Pemformat JSON
Tempel JSON untuk dirapikan dengan indentasi 2 atau 4 spasi, dipadatkan menjadi output ringkas, atau diperiksa sintaksnya sebelum hasilnya disalin.
Pemilih Warna HEX
Pilih atau masukkan warna HEX untuk mendapatkan RGB, HSL, perkiraan CMYK, luminans relatif, serta kontras terhadap putih dan hitam.