Regex Escaping dalam JavaScript
Adakah terdapat fungsi terbina dalam dalam JavaScript untuk melepaskan aksara khas dalam rentetan yang bertujuan untuk digunakan dalam ungkapan biasa?
Jawapan:
Tidak, di sana tiada fungsi RegExp.escape terbina dalam dalam JavaScript. Walau bagaimanapun, fungsi yang dinyatakan di atas boleh digunakan untuk mencapai hasil yang diingini:
function escapeRegex(string) { return string.replace(/[/\-\^$*+?.()|[\]{}]/g, '\$&'); }
Fungsi ini melarikan diri dari semua aksara khas yang ditafsirkan oleh ungkapan biasa, termasuk /, , -, ^, $, *, , ?, (), |, [, ], dan { }.
Berikut ialah contoh cara menggunakan fungsi:
var usersString = "Hello?!*`~World()[]"; var expression = new RegExp(escapeRegex(usersString)); var matches = "Hello".match(expression);
Dalam contoh ini, fungsi escapeRegex digunakan untuk melarikan diri daripada aksara khas dalam pembolehubah usersString. Rentetan yang terhasil kemudiannya digunakan untuk mencipta objek ekspresi biasa baharu. Kaedah padanan kemudiannya digunakan untuk mencari padanan ungkapan biasa dalam rentetan Hello.
Atas ialah kandungan terperinci Adakah JavaScript Mempunyai Fungsi Terbina dalam untuk Melarikan Diri Watak Istimewa Regex?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!