Gantikan setiap perlawanan dalam satu hantaran, secara literal atau dengan ungkapan biasa JavaScript
Alat dimuatkan di sini. Ia memerlukan JavaScript, kerana kerja itu berlaku pada peranti anda.
Fail anda dan privasi anda
Carian, penggantian dan teks yang digunakan untuk semua kekal dalam tab pelayar ini.
Tiada apa-apa yang dimuat naik dan tiada yang disimpan secara automatik, jadi fail konfigurasi atau blok sumber
kod yang ditampal di sini tidak meninggalkan salinan selepas anda memuat semula halaman atau pilih Kosongkan data.
Apa yang dilakukan oleh alat ini
Cari blok teks dan gantikan semua padanan sekaligus, dengan ungkapan biasa pilihan,
kepekaan huruf besar dan padanan keseluruhan perkataan. Corak tidak sah dilaporkan sebagai mesej dan
teks anda tidak disentuh.
Ia mencari setiap kejadian istilah carian, menggantikan kesemuanya dalam satu laluan dan
melaporkan berapa banyak penggantian yang dibuatnya. Tiga suis mengubah cara istilah dibaca: Regex
menganggapnya sebagai ungkapan biasa dan bukannya aksara literal, Case sensitive dihidupkan oleh
lalai dan boleh dimatikan, dan Seluruh perkataan memerlukan sempadan perkataan pada setiap hujung supaya a
cari daun kucing bercantum sahaja. Corak yang tidak akan disusun menghasilkan ralat
mesej dan tiada perubahan sama sekali, yang penting kerana corak separuh ditaip adalah langkah biasa
ke arah yang bekerja.
Cara menggunakannya
Tampalkan teks anda ke dalam kotak, kemudian taip istilah carian dan penggantian ke dalam dua
padang.
Tinggalkan Regex untuk memadankan istilah secara literal; setiap watak istimewa di dalamnya terlepas,
jadi noktah sepadan dengan noktah dan tiada yang lain.
Hidupkan Regex apabila anda memerlukan corak dan gunakan $1, $2 dan seterusnya dalam penggantian
merujuk kumpulan tangkapannya.
Pilih Ganti semua dan baca kiraan yang dilaporkan selepas itu. Jika ia bukan apa yang anda
dijangka, pilih Buat asal dan perhalusi corak.
Contoh kes penggunaan
Menukar domain yang dinamakan semula, nama produk atau pembolehubah sepanjang fail yang ditampal.
Memformat semula lajur tarikh dengan corak kumpulan tangkapan, berpusing 2024-01-02 ke dalam
02/01/2024.
Mengganti perkataan tanpa menyentuh perkataan yang lebih panjang yang mengandunginya, menggunakan perkataan penuh
sepadan.
Input dan output yang disokong
Menerima
Teks biasa dalam editor, ditambah dengan istilah carian dan rentetan gantian
JavaScript sintaks ungkapan biasa, seperti yang disokong oleh enjin pelayar anda
Menghasilkan
Teks yang ditulis semula dalam kotak yang sama, dengan kiraan penggantian dibuat
text.txt yang boleh dimuat turun, atau teks yang disalin ke papan keratan anda
Apa yang tidak akan dilakukan oleh alat ini
Gantikan semua adalah satu-satunya tindakan: tiada pengganti satu, tiada melangkah melalui perlawanan, tidak
menonjolkan perkara yang akan berubah. Jalankan dan baca kiraan, atau buat asal.
Sahaja dua bendera digunakan: sentiasa global dan tidak peka huruf besar-besaran apabila anda mengosongkan Kes
kotak sensitif. Tiada bendera berbilang baris, titik-semua, melekit atau unikod dan JavaScript
tidak mempunyai sintaks bendera sebaris, jadi corak permulaan (?m) ditolak sebagai kumpulan tidak sah.
Tanpa bendera berbilang baris, ^ dan $ berlabuh pada permulaan dan akhir keseluruhan teks
daripada setiap baris, dan noktah tidak sepadan dengan pemisah baris.
Pengawal menangkap corak yang tidak akan disusun, bukan corak yang perlahan. Satu itu
backtracks malapetaka masih berjalan pada utas utama dan boleh mengunci tab.
Penggantian meliputi keseluruhan teks; tidak ada cara untuk mengehadkannya kepada pilihan, baris
julat atau beberapa perlawanan pertama.
Kesilapan biasa
Meletakkan tanda dolar dalam penggantian dan menjangkakan ia adalah literal. Penggantinya
rentetan tidak pernah terlepas, walaupun dalam mod literal, jadi $& memasukkan teks yang dipadankan dan $$
menghasilkan satu tanda dolar — tulis $$ apabila anda maksudkan satu.
Menghidupkan Seluruh perkataan untuk istilah yang mengandungi aksen atau tanda baca. Sempadan perkataan
berasaskan ASCII, jadi mencari kafe atau (kucing) dengan Whole word pada tidak sepadan dan
melaporkan sifar penggantian dan bukannya ralat.
Menggunakan sifat Unicode melarikan diri dalam corak. Tanpa bendera unicode \p{L} tidak
bermaksud 'sebarang huruf' — ia sepadan dengan aksara literal p{L}, jadi penggantian tiba
tempat yang tidak pernah anda maksudkan.
Berlabuh dengan ^ untuk mengawali setiap baris. Ia sahaja sepadan dengan permulaan teks, jadi
tepat satu penggantian dibuat dan setiap baris lain dibiarkan sahaja.
Nota teknikal
Dalam mod literal setiap metakarakter ungkapan biasa dalam istilah carian dilepaskan
sebelum penyusunan, jadi ia sahaja boleh memadankan dirinya sendiri; dalam mod regex istilah itu dilalui
seperti yang tertulis. Seluruh perkataan membungkus mana-mana yang anda dapat dalam \b(?:…)\b, sebagai kumpulan bukan penangkap, jadi
selang seli seperti kucing|anjing dibatasi secara keseluruhan dan bukannya mengikat sempadan
cawangan pertamanya. Penyusunan berlaku di dalam pengawal yang mengembalikan nilai ralat sebaliknya
membaling, dan mesej enjin sendiri dilalui tanpa didahulukan dua kali.
Kiraan diambil dengan memadankan sebelum menggantikan, kemudian penggantian rentetan standard dijalankan
— itulah sebabnya penggantian menghormati $1 kepada $9, $& dan $$ dalam kedua-dua mod: sahaja
bahagian carian terlepas.
Soalan lazim
Perisa ekspresi biasa yang manakah ia gunakan?
JavaScript sendiri, disusun oleh enjin dalam pelayar yang anda gunakan. Corak ditulis
untuk perisa lain — kelas PCRE, Python atau POSIX seperti [:alpha:] — sama ada akan gagal
untuk menyusun atau memadankan sesuatu yang berbeza.
Adakah kumpulan tangkap berfungsi sebagai pengganti?
Ya, dalam mod regex. Cari (\d{4})-(\d{2})-(\d{2}) dan gantikan dengan $3/$2/$1 untuk menulis semula
2024-01-02 sebagai 02/01/2024. Nombor di luar kumpulan dalam corak anda dibiarkan sebagai literal
teks.
Apakah yang berlaku jika ungkapan biasa saya tidak sah?
Anda mendapat mesej enjin yang menerangkan perkara yang salah, seperti kumpulan yang tidak ditamatkan,
dan teks anda dibiarkan sama seperti sebelumnya. Tiada apa yang dibuang, tiada yang dibersihkan, dan anda
boleh terus edit corak.