Tidak suka iklan? Pergi Bebas Iklan Hari ini

Pengujian Regex, Daftar Cepat, dan Konverter – Berhenti Menebak, Mulai Mematching

Diterbitkan pada

Regex sangat kuat tetapi sangat sulit untuk di-debug. Tiga alat gratis membuatnya lebih mudah diakses: tester langsung dengan penekanan cocok, daftar cepat untuk pencarian sintaks, dan konverter untuk beralih antara variasi regex.

Pengujian Regex, Daftar Petunjuk, dan Konverter – Berhenti Menebak, Mulai Mematching 1
IKLAN · HAPUS?

Ada lelucon yang terus beredar dalam pengembangan perangkat lunak: saat Anda menulis sebuah regex, Anda telah menciptakan dua masalah. Pola tersebut bekerja—kadang-kadang—tetapi memahami kode tersebut enam bulan kemudian membutuhkan PhD dan doa. Regex telah memperoleh reputasi ajaibnya, tetapi tetap sangat penting. Validasi email, parsing log, ekstraksi URL—Anda tidak menggantinya dengan perulangan for. Anda hanya belajar cara menggunakannya dengan lebih baik.

Tiga alat dapat mengubah regex dari sumber kecemasan menjadi aset produktivitas yang nyata: a pembuat regex langsung, , dan apengubah rasa . Berikut cara masing-masing alat memperoleh tempatnya.Mengapa Regex Masih Penting (dan Mengapa Ini Menyakitkan)

Penggunaan pola adalah keterampilan inti bagi pengembang backend, insinyur QA, dan insinyur data. Satu pola yang dirancang dengan baik dapat menggantikan puluhan baris kode parsing string. Masalahnya bukan konsepnya—tapi sintaksisnya. Kuantitas, lookaheads, kelompok penangkap, dan kelas karakter masing-masing memiliki keunikan. Tambahkan perbedaan lintas bahasa (regex JavaScript dan regex Python adalah saudara, bukan saudara kembar), maka debugging menjadi permainan tebakan.

Alur kerja yang paling umum diikuti oleh para pengembang: menulis pola, menempelkannya ke dalam skrip, menjalankan skrip, menggigit kepala, dan mengulang. Ada cara yang lebih cepat.

Alat 1 – Regex Tester: Lihat Hasil Saat Mengetik

pembuat regex online

Itu menyoroti hasil secara real-time. Tidak perlu menjalankan skrip, tidak perlu membuka konsol browser—cukup ketik pola Anda dan lihat hasilnya menyala saat mesin memproses input Anda. Berikut adalah langkah-langkahnya menggunakan validasi email:

Pola:

  • String uji: [a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}
  • Tempel pola ke dalam Regex Tester, tambahkan string uji, dan kedua alamat email langsung menonjol. Ubah Contact us at hello@example.com or support@iotools.cloud for help.

dan lihat TLD yang lebih panjang seperti {2,} ke {2,4} yang keluar dari himpunan pencocokan secara real-time—tidak perlu memuat ulang, tidak perlu menebak. .studio Kelompok penangkap juga langsung muncul. Tambahkan tanda kurung di sekitar bagian lokal—

—dan kelompok 1 muncul di panel pencocokan yang menampilkan hanya bagian nama pengguna. Ini membuat pembuatan logika ekstraksi jauh lebih mudah karena Anda melihat tepat apa yang ditangkap oleh setiap kelompok sebelum Anda mengonfirmasikannya ke dalam kode.([a-zA-Z0-9._%+\-]+)@Pembuat juga menampilkan bendera (case-insensitive

, global i, multiline g) sebagai tombol pengatur, sehingga Anda dapat menguji efek setiap bendera tanpa harus mengubah pola. mAlat 2 – Regex Cheatsheet: Pencarian Sintaks Tanpa Perlu Beralih Tab

Bahkan para pengembang berpengalaman lupa apakah

adalah batas kata atau backspace. Cheatsheet regex  dikelompokkan berdasarkan kategori sehingga Anda bisa kembali bekerja dalam beberapa detik: Pengunci: (awal),

  • (akhir), ^ (batas kata), $ (bukan batas kata)  Kuantitas: \B (0 atau 1),
  • (rentang), * (0+), + (1+), ? setelah kuantitas untuk pencocokan lambat {n,m} dan negasinya ? Kelompok:
  • Kelas karakter: [abc], [^abc], \d, \w, \s menangkap,
  • tidak menangkap, (...) kelompok berlabel (?:...) Pencocokan didepan / didekati: (?P<name>...) Setiap entri menampilkan token, deskripsi dalam bahasa sederhana, dan contoh. Ini adalah referensi yang Anda simpan pada hari pertama jika Anda tahu Anda membutuhkannya—sekarang Anda punya.
  • Alat 3 – Regex Converter: Pemindahan Antar Bahasa Tanpa Kebingungan (?=...), (?!...), (?<=...), (?<!...)

Berikut adalah jebakan yang akhirnya ditemui oleh setiap pengembang: Anda menulis regex di Python, itu bekerja sempurna, lalu Anda menempelkannya ke JavaScript dan itu gagal diam-diam. Atau lebih buruk—itu cocok dengan sesuatu yang berbeda.

pembuat regex

mengubah pola antara PCRE, JavaScript, Python, dan variasi lainnya. Kelompok penangkap berlabel adalah contoh jelas di mana sintaksnya berbeda:

Itu Python (gaya PCRE): Keduanya cocok dengan tanggal seperti

  • , tetapi cara merujuk kelompok penangkap berbeda: Python menggunakan (?P<year>\d{4})-(?P<month>\d{2})
  • JavaScript: (?<year>\d{4})-(?<month>\d{2})

, JavaScript menggunakan 2024-03. Pembuat mengatasi perubahan sintaks sehingga Anda tidak perlu mencari dokumen untuk memahami mengapa pola Anda gagal saat Anda pindah antar stack. match.group('year')Perbedaan lain yang diatur oleh pembuat: kuantitas pemegang (hanya untuk PCRE), kelompok atomik, penghindaran properti Unicode, dan perilaku match.groups.yeardalam mode Unicode.

Tiga Contoh Praktis Regex yang Bisa Dicoba Sekarang \d Salin ini ke dalam

dan eksperimen:

Validasi Email Uji Regex Mencocokkan alamat email standar. Tidak lengkap sesuai RFC 5322 (regex ini mencapai ribuan karakter), tetapi mencakup kasus input validasi 99%.

Ekstraksi URL

[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}

Mengambil URL HTTP dan HTTPS dari teks mentah. Berguna untuk mengekstrak target link dari konten tidak terstruktur atau file log.

Parsing Log Akses Apache

https?://[^\s/$.?#].[^\s]*

Mengambil alamat IP, waktu, metode HTTP, jalur, kode status, dan ukuran respons dari satu baris log akses Apache standar. Uji dengan:

Pembuat Regex, Cheatsheet, dan Converter – Berhenti Menebak, Mulai Mencocokkan 2

^(\S+) \S+ \S+ \[([^\]]+)\] "(\S+) (\S+) \S+" (\d{3}) (\d+)

Pembuat Regex, Cheatsheet, dan Converter – Berhenti Menebak, Mulai Mencocokkan 1 192.168.1.1 - - [01/May/2024:12:00:00 +0000] "GET /index.html HTTP/1.1" 200 1234

Ingin bebas iklan? Bebas Iklan Hari Ini

Instal Ekstensi Kami

Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat

Ke Ekstensi Chrome Ke Ekstensi Tepi Ke Ekstensi Firefox Ke Ekstensi Opera

Papan Skor Telah Tiba!

Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!

IKLAN · HAPUS?
IKLAN · HAPUS?
IKLAN · HAPUS?

Pojok Berita dengan Sorotan Teknologi

Terlibat

Bantu kami untuk terus menyediakan alat gratis yang berharga

Belikan aku kopi
IKLAN · HAPUS?