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

  1. Masukkan ekspresi reguler beserta flag-nya.
  2. 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.