Penguji ekspresi reguler
Tentang alat ini
Jalankan ekspresi reguler pada teks masukan dan periksa kecocokannya. Seluruh pemrosesan terjadi di dalam peramban Anda; tidak ada data yang dikirim ke mana pun.
Jalankan pengujian
—
Cara pakai
- Masukkan ekspresi reguler beserta flag-nya.
- Tekan “Jalankan pengujian” untuk menyorot kecocokan pada teks masukan.
Contoh (lebih dari 100 pola regex siap pakai per kategori)
Dasar / spasi / baris
- Hanya baris kosong:
^\s*$
(m) - Spasi di awal:
^\s+
(m) - Spasi di akhir:
\s+$
(m) - Hilangkan spasi awal/akhir:
^\s+|\s+$
(m) - Spasi berturut-turut (padatkan jadi satu):
\s{2,}
- Karakter terlihat (bukan spasi):
\S+
- Hanya ASCII:
^[\x00-\x7F]+$
- ASCII yang dapat dicetak:
^[\x20-\x7E]+$
- Mengandung karakter non-ASCII:
[^\x00-\x7F]
- Batas kata:
\bword\b
Angka / mata uang
- Bilangan bulat (boleh bertanda):
^-?\d+$
- Bilangan desimal (boleh bertanda):
^-?\d*\.\d+$
- Bilangan (bulat atau desimal):
^-?(?:\d+|\d*\.\d+)$
- Pemisah ribuan (mis. 1,234,567):
^\d{1,3}(?:,\d{3})+$
- Mata uang (¥ atau $ dengan pemisah opsional):
^(?:¥|\$)\s?\d{1,3}(?:,\d{3})*(?:\.\d{2})?$
- Persentase:
^\d{1,3}(?:\.\d+)?%
- Notasi ilmiah:
^[+-]?(?:\d+\.?\d*|\.\d+)[eE][+-]?\d+$
- Heksadesimal:
^(?:0x)?[0-9A-Fa-f]+$
- Biner:
^[01]+$
- Oktal:
^[0-7]+$
Tanggal / waktu
- Tanggal YYYY-MM-DD (format saja):
^\d{4}-\d{2}-\d{2}$
- Waktu HH:MM (24 jam):
^(?:[01]\d|2[0-3]):[0-5]\d$
- Waktu HH:MM:SS (24 jam):
^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
- Datetime ISO8601 (disederhanakan):
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
- Tahun/bulan (YYYY/MM):
^\d{4}/(0[1-9]|1[0-2])$
- Era Jepang (Reiwa, sederhana):
^令和\d+年(?:\d+月(?:\d+日)?)?$
(u) - Hari dalam seminggu (Inggris, 3 huruf):
^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)$
- Zona waktu (±HH:MM):
^[+-](?:[01]\d|2[0-3]):[0-5]\d$
Kontak / alamat (ringkas)
- Kode pos Jepang:
^\d{3}-\d{4}$
- Telepon Jepang (0x-xxxx-xxxx sederhana):
^0\d{1,4}-\d{1,4}-\d{4}$
- Telepon internasional (+kode negara, spasi):
^\+\d{1,3}\s?\d+(?:[\s-]\d+)*$
- Nama prefektur Jepang:
^(?:東京都|北海道|(?:京都|大阪)府|.+県)$
(u) - Email (pemeriksaan cepat umum):
^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
- Nama pengguna (3–16 huruf/angka/_):
^[A-Za-z0-9_]{3,16}$
- Kekuatan sandi (huruf besar/kecil/angka/simbol, panjang ≥ 8):
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$
Web / URL / HTTP
- URL (cek cepat http/https):
https?:\/\/\S+
- Domain (sederhana, tanpa Punycode):
^(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$
- Host dengan subdomain:
^(?:[A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.[A-Za-z]{2,}$
- Parameter kueri key=value:
[?&]([A-Za-z0-9._~-]+)=([^&#]+)
- Fragmen:
#\w[\w-]*
- Ekstensi file (.png|.jpg|.gif dll.):
\.(?:png|jpe?g|gif|webp|svg)$
(i) - Metode HTTP:
^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)$
- Baris header HTTP:
^[A-Za-z0-9-]+:\s?.+$
(m) - Header otentikasi Basic:
^Basic\s+[A-Za-z0-9+/=]+$
- Header token Bearer:
^Bearer\s+[A-Za-z0-9\-\._~\+\/]+=*$
Jaringan (IP/MAC/CIDR/UUID/JWT dll.)
- IPv4 (0–255 ketat):
\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\b
- IPv6 (mendukung kompresi, sederhana):
\b(?:[A-Fa-f0-9]{1,4}:){2,7}[A-Fa-f0-9]{1,4}\b
- Alamat MAC (dipisah :):
^(?:[0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$
- Alamat MAC (dipisah -):
^(?:[0-9A-Fa-f]{2}-){5}[0-9A-Fa-f]{2}$
- CIDR (IPv4 panjang 0–32):
^\b(?:\d{1,3}\.){3}\d{1,3}\/(?:[0-9]|[12]\d|3[0-2])\b$
- UUID v4:
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
(i) - GUID (tidak peka huruf besar-kecil):
^{?[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}}?$
(i) - Base64 (dengan padding):
^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
- JWT (tiga segmen dipisah titik):
^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$
- Kunci publik SSH (ssh-rsa/ed25519):
^ssh-(?:rsa|ed25519)\s+[A-Za-z0-9+/=]+(?:\s.+)?$
Berkas / path / versi
- Path absolut Windows:
^[A-Za-z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$
- Path absolut UNIX:
^\/(?:[^\/\0]+\/)*[^\/\0]*$
- Nama berkas aman (huruf/angka ._- saja):
^[A-Za-z0-9._-]+$
- Menangkap ekstensi berkas:
\.([A-Za-z0-9]+)$
- Hash Git (7–40 karakter):
^[0-9a-f]{7,40}$
- SemVer:
^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$
- Docker image:tag:
^[a-z0-9]+(?:[._-][a-z0-9]+)*(?::[\w.-]+)?$
- Nama paket NPM (sederhana):
^(?:@[\w-]+\/)?[\w.-]+$
- Slug URL:
^[a-z0-9]+(?:-[a-z0-9]+)*$
Front-end web (HTML/CSS/warna)
- HTML tag (paired start/end, simple):
<([A-Za-z][A-Za-z0-9]*)\b[^>]*>([\s\S]*?)<\/\1>
- Komentar HTML:
<!--[\s\S]*?-->
- Nilai atribut href:
href\s*=\s*"(.*?)"
(i) - Warna CSS (#RGB/#RRGGBB):
^#(?:[0-9A-Fa-f]{3}){1,2}$
- CSS rgb():
^rgb\(\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*\)$
- CSS hsl():
^hsl\(\s*(?:\d|[1-2]\d{2}|3[0-5]\d)\s*,\s*(?:\d|[1-9]\d)%\s*,\s*(?:\d|[1-9]\d)%\s*\)$
- Satuan CSS (px, em, dll.):
^-?\d+(?:\.\d+)?(?:px|em|rem|vh|vw|%)$
String / sintaks (cuplikan pemrograman)
- Identifier JavaScript (sederhana):
^[A-Za-z_$][A-Za-z0-9_$]*$
- Baris komentar JavaScript //:
^\s*\/\/.*$
(m) - Komentar blok JavaScript:
\/\*[\s\S]*?\*\/
- String tanda kutip ganda (escape sederhana):
"(?:[^"\\]|\\.)*"
- String tanda kutip tunggal:
'(?:[^'\\]|\\.)*'
- Template literal (disederhanakan):
`(?:[^`\\]|\\.|\\${[^}]*})*`
- Kunci JSON:
"([A-Za-z0-9_]+)"\s*:
- Sel CSV (menangani tanda kutip ganda):
(?:"(?:[^"]|"")*"|[^,\r\n]*)
- Mengekstrak URL dari isi email:
https?:\/\/[^\s)>"]+
Keamanan / validasi (gunakan dengan hati-hati)
- Kartu kredit (tanpa Luhn, cek cepat):
\b(?:\d[ -]*?){13,19}\b
- VISA (mulai dengan 4, 13/16/19 digit):
\b4\d{12}(?:\d{3})?(?:\d{3})?\b
- Mastercard (51–55 / 2221–2720):
\b(?:5[1-5]\d{14}|2(?:2[2-9]\d{2}|[3-6]\d{3}|7[01]\d{2}|720\d{2})\d{10})\b
- Japan MyNumber (hanya format, tanpa checksum):
^\d{12}$
- Kode pos + baris alamat (sederhana):
^\d{3}-\d{4}\s+.+$
- Deteksi tag <script> untuk XSS (sederhana):
<\s*script\b[^>]*>[\s\S]*?<\s*\/\s*script\s*>
- Kata kunci SQL (cek cepat):
\b(SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|CREATE)\b
(i)
Catatan: Pastikan kebijakan hukum dan internal mengizinkan sebelum memakai pola ini pada data pribadi atau rahasia.
Format log
- Apache/Nginx CLF (sederhana):
^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"([^"]+)"\s+(\d{3})\s+(\d+|-)
- Timestamp ISO8601:
\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})
- Baris JSON (satu JSON per baris):
^\{.*\}$
(m) - Menangkap UUID:
[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}
(i) - Ekstrak IPv4 (sederhana):
\b(?:\d{1,3}\.){3}\d{1,3}\b
Markdown
- Judul (#–######):
^(#{1,6})\s+(.+)$
(m) - Tautan:
\[([^\]]+)\]\(([^)]+)\)
- Gambar:
!\[([^\]]*)\]\(([^)]+)\)
- Kode inline:
`([^`]+)`
- Blok kode (```…``` sederhana):
```[\s\S]*?```
- Daftar poin (- * +):
^\s*[-*+]\s+.+$
(m) - Kutipan blok >:
^\s*>\s+.+$
(m)
Naskah Jepang / kelas karakter (gunakan flag Unicode)
- Hanya hiragana:
^[\u3041-\u3096]+$
(u) - Hanya katakana:
^[\u30A1-\u30FA\u30FC]+$
(u) - Hanya katakana lebar setengah:
^[\uFF66-\uFF9D\uFF70]+$
(u) - Mengandung kanji:
[\u4E00-\u9FFF]
(u) - Hanya karakter lebar penuh:
^[^\x00-\x7F]+$
- Alfanumerik lebar penuh:
^[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+$
(u) - Kode pos (menerima digit lebar penuh):
^[0-9\d]{3}-[0-9\d]{4}$
(u) - Furigana (kana lebar penuh):
^[\u30A1-\u30FA\u30FC\s]+$
(u)
Utilitas pemformatan / ekstraksi teks
- Hapus penomoran di awal “1.”:
^\s*\d+\.\s*
(m) - Hilangkan awalan poin:
^\s*(?:[-*+]|•|\d+\.)\s*
(m) - Tangkap isi di dalam tanda kurung:
\(([^)]*)\)
- Tangkap isi di dalam tanda kutip ganda:
"([^"\\]|\\.)*"
- Ambil nilai yen Jepang “¥123,456”:
¥\s?\d{1,3}(?:,\d{3})*
- Ambil domain email:
@([A-Za-z0-9.-]+\.[A-Za-z]{2,})
- Hapus tag HTML (sederhana):
<[^>]+>
- Padatkan spasi berulang:
\s{2,}
Lainnya yang berguna
- Plat nomor Jepang (sangat sederhana):
^[\u3041-\u3096\u30A1-\u30FA\u4E00-\u9FFF]{1,2}\s?\d{3,4}$
(u) - ID video YouTube:
(?<=v=|youtu\.be\/)[A-Za-z0-9_-]{11}
- Nama pengguna Twitter/X @handle:
@[A-Za-z0-9_]{1,15}
- Saluran Slack:
#[a-z0-9_-]{1,80}
- Nama warna (contoh kata kunci CSS):
\b(?:red|green|blue|black|white|gray|silver|maroon)\b
(i) - Anotasi di dalam tanda kurung 〔…〕:
[([^]]*)]|【([^】]*)】|〔([^〕]*)〕
(u) - Deteksi kana lebar setengah:
[\uFF61-\uFF9F]
(u) - Kata bahasa Inggris (boleh menggunakan tanda hubung):
\b[A-Za-z]+(?:-[A-Za-z]+)*\b
- Nomor pesanan dalam email (mis. #12345):
#\d{4,}
- Nama stasiun Jepang (berakhiran “駅”):
.+駅\b
(u)
Catatan: Pola ini dirancang praktis dan siap ditempel. Untuk validasi ketat (tahun kabisat, IDN, parsing HTML penuh, dll.), gunakan logika atau pustaka khusus.