Reex Alternatif untuk Pandangan Negatif di Belakang dalam JavaScript
Dalam JavaScript, pernyataan pandangan negatif di belakang tidak disokong secara langsung. Walau bagaimanapun, terdapat cara untuk mencapai kefungsian yang serupa.
Pertimbangkan regex berikut:
(?<filename)\.js$
regex ini sepadan dengan rentetan yang berakhir dengan .js kecuali nama fail.js. Dalam pelaksanaan regex yang menyokong look behind, ungkapan ini akan berfungsi seperti yang dimaksudkan.
Alternatif Menggunakan Pandangan Negatif
Memandangkan JavaScript tidak mempunyai lookahead, kita boleh menggunakan pandangan negatif sebaliknya:
^(?:(?!filename\.js$).)*\.js$
Ungkapan ini secara eksplisit menyemak setiap aksara rentetan untuk memastikan bahawa pandangan negatif di sebalik penegasan (?!filename.js$) serta regex yang tinggal tidak akan sepadan. Jika ia tidak sepadan, aksara dibenarkan untuk dipadankan.
Versi Ringkas
Untuk versi JavaScript sebelum ECMAScript 2018, versi ringkas berikut boleh digunakan:
^(?!.*filename\.js$).*\.js$
Ungkapan ini menegaskan bahawa rentetan itu tidak mengandungi nama fail.js di mana-mana sahaja dan berakhir dengan .js.
Atas ialah kandungan terperinci Bagaimana untuk mencapai fungsi Negative Lookbehind dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!