Tidak suka iklan? Pergi Bebas Iklan Hari ini

Konverter Rasa Regex (PCRE / JS / Python / Go)

Pengembang
IKLAN · HAPUS?
MEMASUKKAN

Panel Uji

Referensi Sintaks

IKLAN · HAPUS?

Memandu

Konverter Flavor Regex (PCRE / JS / Python / Go)

Konverter Flavor Regex

Konversi ekspresi reguler antar flavor bahasa pemrograman: PCRE (PHP), JavaScript, Python, Go, Java, dan Ruby. Otomatis mengonversi grup bernama, flag, backreference, dan perbedaan sintaks lainnya. Menyoroti fitur yang tidak kompatibel dengan peringatan yang jelas. Menyertakan panel uji untuk memvalidasi regex hasil konversi Anda terhadap string sampel.

Cara Penggunaan

Masukkan pola regex Anda, pilih flavor sumber (bahasa yang digunakan) dan flavor target (bahasa yang ingin Anda konversi). Regex yang dikonversi muncul seketika dengan flag yang diterjemahkan. Periksa catatan konversi untuk perubahan yang dibuat dan peringatan tentang fitur yang tidak didukung. Gunakan panel uji untuk memvalidasi pola yang dikonversi terhadap teks sampel.

Fitur

  • 6 Flavor Regex — PCRE (PHP), JavaScript (ES2018+), Python (modul re), Go (regexp), Java (java.util.regex), dan Ruby. Konversi antar pasangan mana pun.
  • Konversi Grup Bernama — Otomatis mengonversi sintaks antara (?P…) (PCRE/Python/Go) dan (?…) (JS/Java/Ruby).
  • Terjemahan Flag — Mengonversi flag antar flavor: /gi (JS) ↔ re.IGNORECASE (Python) ↔ (?i) inline (PCRE/Go) ↔ Pattern.CASE_INSENSITIVE (Java).
  • Konversi Backreference — Backreference bernama dikonversi: (?P=name) ↔ \k antar flavor.
  • Peringatan Ketidakcocokan — Peringatan berkode warna: hijau untuk konversi bersih, kuning untuk perubahan sintaks, merah untuk fitur yang tidak didukung (misalnya, Go tidak mendukung lookbehind, JS tidak mendukung grup atomik).
  • Panel Uji — Uji regex hasil konversi terhadap string sampel. Menampilkan kecocokan, grup, dan jumlah kecocokan menggunakan engine RegExp JavaScript.
  • Referensi Sintaks — Tabel referensi yang dapat dilipat menunjukkan perbedaan utama antara semua flavor: grup bernama, lookahead/lookbehind, flag, kelas karakter, grup atomik, dukungan Unicode.
  • Konversi Otomatis — Hasil diperbarui seketika saat Anda mengetik atau mengubah flavor.

Apa yang Dikonversi

Grup bernama: Perbedaan sintaks (?P) ↔ (?).
Backreference bernama: (?P=name) ↔ \k ↔ \g{name}.
Flag: Inline (?imsx), akhiran /gi, dan konstanta spesifik bahasa.
Pernyataan lookbehind: Didukung di PCRE/JS/Java, terbatas di Python/Ruby, tidak didukung di Go.
Grup atomik: (?>…) — Hanya PCRE/Java/Ruby; diperingatkan untuk JS/Python/Go.
Kuantifier posesif: a++ — Hanya PCRE/Java/Ruby.
Kelas karakter: \R, \h, \v (khusus PCRE) ditandai untuk flavor lain.
Komentar: Sintaks (?#…) — Hanya PCRE/Python.
Kondisional: (?(cond)yes|no) — Hanya PCRE.

IKLAN · HAPUS?

Mengapa flavor regex berbeda antar bahasa?

Implementasi ekspresi reguler berevolusi secara independen di berbagai bahasa pemrograman. Engine regex Perl (PCRE) menjadi yang paling kaya fitur: menambahkan grup bernama, lookbehind, grup atomik, dan fitur canggih lainnya. Bahasa lain mengadopsi subset: JavaScript awalnya memiliki regex dasar dan secara bertahap menambahkan fitur (grup bernama di ES2018, lookbehind di ES2018). Modul re Python menggunakan sintaks (?P) yang diwarisi dari proposal awal. Go sengaja memilih engine regex yang lebih sederhana (RE2) yang menjamin pencocokan waktu linier tetapi mengorbankan fitur seperti lookbehind. Setiap bahasa membuat tradeoff yang berbeda antara kekuatan dan kinerja.

Fitur regex apa yang tidak dapat dikonversi?

Beberapa fitur hanya ada dalam satu atau dua flavor dan tidak memiliki padanan di flavor lain. Pernyataan lookbehind tidak ada di engine RE2 Go — tidak ada solusi, hanya desain ulang pola. Grup atomik dan kuantifier posesif (PCRE/Java/Ruby) tidak memiliki padanan langsung di JavaScript, Python, atau Go. Kelas karakter khusus PCRE seperti \R (setiap pemutus baris), \h (whitespace horizontal), dan \v (whitespace vertikal) perlu diperluas ke padanan kelas karakter. Pola kondisional (?(cond)yes|no) hanya ada di PCRE. Alat ini memperingatkan Anda tentang ketidakcocokan ini sehingga Anda tahu apa yang memerlukan perhatian manual.

Apakah panel uji akurat untuk semua flavor?

Panel uji menggunakan engine RegExp asli JavaScript, sehingga secara akurat menguji perilaku regex JavaScript. Untuk flavor target lainnya, uji memberikan perkiraan yang masuk akal tetapi mungkin berbeda dalam kasus-kasus khusus — terutama seputar penanganan Unicode, perilaku pemutus baris, dan fitur yang tidak didukung JavaScript (seperti grup atomik). Untuk penggunaan produksi, selalu uji regex hasil konversi Anda di bahasa target yang sebenarnya. Panel uji paling baik digunakan untuk validasi cepat pencocokan pola dasar.

Apa perbedaan antara regex PCRE dan JavaScript?

PCRE (Perl Compatible Regular Expressions, digunakan oleh PHP) adalah flavor yang paling kaya fitur: mendukung grup bernama dengan (?P), lookbehind dengan panjang variabel, grup atomik (?>…), kuantifier posesif (a++), pola kondisional, pola rekursif, dan cakupan flag inline (?i:…). Regex JavaScript lebih sederhana: grup bernama menggunakan (?), lookbehind ditambahkan di ES2018, dan tidak ada dukungan untuk grup atomik, kuantifier posesif, atau kondisional. PCRE menggunakan sintaks /pattern/flags seperti JavaScript tetapi mendukung lebih banyak flag (x untuk mode verbose, s untuk DOTALL). Mengonversi PCRE → JS sering kali memerlukan penghapusan fitur lanjutan.

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?