Selak ke belakang dalam Ungkapan Biasa untuk JavaScript
Masalah:
Fungsi JavaScript untuk menggabungkan senarai argumen ke dalam laluan yang sah tidak berfungsi disebabkan oleh isu dengan garis miring ke belakang dalam biasa ungkapan.
Analisis:
Ungkapan biasa yang disediakan: /()$|^()/ sepadan dengan semua garis miring awal dan akhir serta garis miring belakang, tetapi ia gagal berfungsi dalam fungsi . JavaScript mentafsir garis miring ke belakang dalam rentetan secara berbeza daripada ungkapan biasa, yang membawa kepada ralat sintaks dan padanan yang salah.
Penyelesaian:
Untuk menyelesaikan isu, gunakan ungkapan biasa literal (/... /) bukannya rentetan literal ('...' atau "...") dalam panggilan ganti. Literal ungkapan biasa mempunyai tafsiran tersendiri bagi garis miring belakang yang tidak bercanggah dengan pengendalian rentetan JavaScript.
Ganti ungkapan biasa semasa dengan:
/(\|\/)$|^(\|\/)/
Sebagai alternatif, jika menggunakan literal rentetan lebih diutamakan:
"(\\|/)$|^(\\|/)"
Pengoptimuman:
Apabila bekerja dengan alternatif aksara tunggal, seperti garis miring ke belakang atau garis miring, adalah lebih cekap untuk menggunakan kelas aksara ([...]) dan bukannya sintaks (x|y). Ini menghasilkan ungkapan biasa yang dipermudahkan:
/[\\/]$|^[\\/]/
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Sebatan Terbalik dengan Betul dalam Ungkapan Biasa JavaScript untuk Penggabungan Laluan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!