Penguji Regex
Flag
Ketik sebuah ekspresi reguler, tempel teks untuk mengujinya, dan penguji menjalankan pola serta mendaftar setiap kecocokan yang ditemukan. Setiap hasil menunjukkan di mana kecocokan dimulai dan isi setiap grup tangkapan, sehingga Anda melihat persis apa yang ditangkap pola. Aktifkan flag tidak peka huruf besar-kecil, multibaris, dan dotall untuk mengubah perilaku pola.
Cara menguji regex
-
1
Masukkan pola Anda
Ketik ekspresi tanpa pembatas; penguji membungkusnya dengan `/ /` untuk Anda. Pola yang tidak valid menampilkan pesan kesalahan yang jelas alih-alih gagal diam-diam.
-
2
Pilih flag
Aktifkan `i` (tidak peka huruf besar-kecil), `m` (multibaris), atau `s` (dotall) untuk mencocokkan sesuai kebutuhan Anda.
-
3
Tempel teks uji
Tambahkan teks yang ingin Anda cari. Penguji menelusuri seluruhnya dan menemukan setiap kecocokan, bukan hanya yang pertama.
-
4
Periksa kecocokan
Setiap kecocokan menunjukkan posisinya (offset) dalam teks, kecocokan penuh, dan setiap grup tangkapan bernomor.
Apa yang ditunjukkan penguji
Menjalankan pola di kepala, atau dengan grep cepat, memberi tahu apakah sesuatu cocok. Penguji juga menunjukkan:
- Setiap kecocokan, beserta posisinya. Ia selalu menelusuri seluruh teks dan melaporkan setiap kecocokan dengan offset karakter tempat kecocokan itu dimulai.
- Grup mana menangkap apa. Setiap kecocokan dipecah menjadi kecocokan penuh dan grup tangkapan bernomor, sehingga Anda dapat memastikan sebuah
(...)menangkap bagian yang Anda harapkan. - Apa yang diubah flag. Aktifkan
i,m, atauslalu uji lagi untuk melihat bagaimana pencocokan tanpa peka huruf besar-kecil, multibaris, atau dotall mengubah hasilnya.
Flag, secara ringkas
| Flag | Nama | Apa yang diubah |
|---|---|---|
i |
Tidak peka huruf besar-kecil | A juga cocok dengan a, dan sebaliknya |
m |
Multibaris | ^ dan $ cocok di awal dan akhir setiap baris, bukan hanya seluruh teks |
s |
Dotall | . juga cocok dengan karakter baris baru |
Pencocokan selalu global: penguji mengembalikan setiap kecocokan dalam teks, jadi tidak ada flag “global” terpisah yang perlu diatur. Pola dijalankan pada mesin PCRE dengan dukungan Unicode, sehingga kelas seperti \w dan \d berperilaku konsisten pada teks internasional.
Masalah regex umum yang dibantu ditemukan oleh ini
| Gejala | Penyebab lazim |
|---|---|
| Satu kecocokan raksasa yang mencakup segalanya | .* rakus; gunakan .*? atau kelas ternegasi seperti [^"]* |
^ atau $ cocok hanya sekali |
Flag m hilang pada teks multibaris |
. berhenti di baris baru |
Flag s hilang |
| Grup tangkapan dalam urutan tak terduga | ( bersarang menggeser nomor grup; hitung dari kiri ke kanan |
| Pola berjalan lambat | * atau + bersarang di atas alternatif yang tumpang tindih menyebabkan banyak backtracking |
Kiat untuk pola yang lebih cepat dan aman
- Jangkarkan dengan
^saat kecocokan mulai dari awal, agar mesin tidak menelusuri seluruh string. - Utamakan kelas karakter (
[abc]) daripada alternasi (a|b|c); kelas lebih cepat di setiap mesin besar. - Ganti
.*yang rakus dengan kelas ternegasi seperti[^"]*saat Anda tahu karakter penutupnya, agar tidak ada backtracking.
Pertanyaan yang Sering Diajukan
Ia menjalankan pola Anda dengan PCRE, mesin yang tertanam dalam PHP, dengan mode Unicode aktif. Sintaks khusus PCRE, seperti \d, \b, dan lookaround, bekerja seperti yang diharapkan. Jika Anda akan menerapkan pola di JavaScript, Python, atau bahasa lain, periksa perbedaan sintaks kecil sebelum merilisnya.
Setiap kecocokan. Penguji selalu menelusuri seluruh teks, jadi tidak ada flag “global” terpisah yang perlu diatur. Setiap kecocokan didaftar beserta posisinya dalam teks.
Bisa. Setiap kecocokan dipecah menjadi kecocokan penuh dan setiap grup tangkapan bernomor, sehingga Anda dapat memastikan bagian teks mana yang ditangkap oleh setiap (...).
i membuat pencocokan tidak peka huruf besar-kecil, m membuat ^ dan $ cocok di setiap batas baris, dan s membuat . cocok dengan karakter baris baru. Aktifkan atau nonaktifkan lalu uji lagi untuk membandingkan hasilnya.
Penguji menampilkan pesan kesalahan yang jelas yang menjelaskan masalahnya, seperti tanda kurung yang tidak tertutup atau grup yang tidak selesai, alih-alih diam-diam mengembalikan nol kecocokan.
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.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Generator EditorConfig
Buat file .editorconfig dari aturan indentasi, akhir baris, dan charset Anda, lalu tambahkan bagian yang tepat untuk tiap bahasa di repositori Anda: Python, Go, YAML, Makefile, dan lainnya.
Validator Email
Validasi alamat email: pemeriksaan sintaks RFC 5322, pengecekan live record MX, serta detail bagian lokal, domain, dan panjang. Tidak ada email yang dikirim.
Konverter Ukuran File
Konversi antara byte, KB, MB, GB, TB, dan satuan biner IEC (KiB, MiB, GiB, TiB) dengan kombinasi desimal dan biner apa pun yang Anda inginkan.
Alat ini tersedia dalam bahasa lain
- أداة اختبار Regex [AR]
- Testeur de Regex [FR]
- 정규식 테스터 [KO]
- Regex-Tester [DE]
- Tester Regex [PL]
- Regex-tester [NL]
- Regex-testare [SV]
- ตัวทดสอบ Regex [TH]
- 正規表現テスター [JA]
- Trình kiểm tra Regex [VI]
- Probador de Regex [ES]
- Testador de Regex [PT]
- Regex Test Aracı [TR]
- 正则测试器 [ZH]
- Regex Tester [EN]
- Tester di Regex [IT]
- Тестер Regex [RU]