Javascript Regex: Alternatif untuk Lookbehind Assertions
Pelaksanaan Regex dalam Javascript tidak mempunyai konsep lookbehind assertions. Ini menimbulkan cabaran dalam membina ungkapan biasa yang memerlukan fungsi ini. Nasib baik, terdapat kaedah alternatif untuk mencapai hasil yang serupa.
Pertimbangkan regex berikut:
(?<!filename)\.js$
regex ini sepadan dengan ".js" di hujung rentetan, tidak termasuk "filename.js ." Walau bagaimanapun, tanpa melihat di belakang sokongan dalam Javascript, kami memerlukan alternatif.
Salah satu alternatif sedemikian ialah untuk mengembangkan penegasan lookback ke dalam satu siri semakan eksplisit terhadap setiap aksara dalam rentetan:
^(?:(?!filename\.js$).)*\.js$
Regex ini dipecahkan seperti berikut:
Sebagai alternatif, penyelesaian yang lebih mudah tersedia:
^(?!.*filename\.js$).*\.js$
Reex ini pada asasnya menyemak bahawa keseluruhan rentetan tidak mengandungi "filename.js" sebelum dipadankan ".js."
Dengan memanfaatkan alternatif ini, kami boleh melaksanakan kefungsian regex sama seperti melihat di belakang pernyataan dalam Javascript.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penegasan Look Behind dalam Regex JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!