Bagaimana untuk Melaksanakan Penegasan Look Behind dalam Regex JavaScript?

Linda Hamilton
Lepaskan: 2024-11-09 17:16:02
asal
956 orang telah melayarinya

How to Implement Lookbehind Assertions in JavaScript Regex?

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$
Salin selepas log masuk

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$
Salin selepas log masuk

Regex ini dipecahkan seperti berikut:

  • ^: Permulaan rentetan
  • (?:...)*: Gelungkan ungkapan berikut untuk setiap aksara
  • (?!filename.js$): Pandangan negatif ke hadapan untuk memastikan aksara seterusnya tidak sepadan " nama fail.js"
  • .: Padankan dengan noktah
  • *: Ulangi padanan tempoh sebagai diperlukan
  • .js: Padankan ".js"
  • $: Tamat rentetan

Sebagai alternatif, penyelesaian yang lebih mudah tersedia:

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

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!

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