Bagaimana untuk Mencapai Lihat Di Sebalik Penegasan dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-11-08 20:23:02
asal
614 orang telah melayarinya

How to Achieve Look Behind Assertion in JavaScript?

JavaScript Regex: Alternatif untuk Melihat Di Sebalik Penegasan

Dalam JavaScript, pandangan di sebalik penegasan (?) ialah tidak disokong. Penegasan ini berguna untuk memadankan corak yang didahului oleh keadaan tertentu. Walau bagaimanapun, terdapat cara alternatif untuk mencapai hasil yang sama dalam JavaScript.

Satu alternatif ialah menggunakan corak ^ dan (?!). Simbol ^ sepadan dengan permulaan rentetan, manakala (?!) menyemak sama ada ungkapan berikut tidak sepadan dengan kedudukan semasa. Sebagai contoh, regex berikut sepadan dengan mana-mana rentetan yang berakhir dengan .js, kecuali untuk nama fail.js:

^(?:(?!filename\.js$).)*\.js$
Salin selepas log masuk

regex ini secara eksplisit menyemak setiap aksara rentetan untuk memastikan ia tidak memenuhi syarat melihat di belakang .

Satu lagi alternatif yang lebih mudah yang diperkenalkan dalam ECMAScript 2018 ialah menggunakan yang berikut regex:

^(?!.*filename\.js$).*\.js$
Salin selepas log masuk

regex ini menggunakan ungkapan . untuk memadankan sebarang rentetan dan penegasan (?!) untuk menyemak sama ada ungkapan berikut (.filename.js $) tidak akan sepadan dengan kedudukan semasa. Alternatif ini lebih cekap daripada yang pertama, kerana ia tidak memerlukan pemeriksaan keadaan pada setiap aksara.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Lihat Di Sebalik Penegasan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan