Bolehkah Kita Mencapai Pandangan Panjang Pembolehubah Benar di Belakang dalam Ungkapan Biasa?

Mary-Kate Olsen
Lepaskan: 2024-11-02 10:05:02
asal
871 orang telah melayarinya

 Can We Achieve True Variable-Length Lookbehind in Regular Expressions?

Alternatif Pandangan Belakang-Penegasan Pembolehubah-Panjang untuk Ungkapan Biasa

Pandangan panjang pembolehubah di belakang penegasan dalam ungkapan biasa, dilambangkan dengan (?

Python with regex Module

Modul regex Python menawarkan sokongan untuk lihat di belakang pernyataan panjang berubah-ubah.

<code class="python">import regex

m = regex.search('(?<!foo.*)bar', 'f00bar')
print(m.group())  # Output: bar</code>
Salin selepas log masuk

Token K

Ungkapan biasa moden memperkenalkan token K, yang memastikan bahawa aksara yang sepadan sebelum ia tidak disertakan dalam perlawanan.

s/unchanged-part\Kchanged-part/new-part/x
Salin selepas log masuk

Penghadan

Walaupun K menyediakan beberapa fungsi lihat di belakang, ia tidak boleh mengalih keluar aksara sehingga titik tertentu atau digunakan beberapa kali dalam ungkapan.

Pelaksanaan Ungkapan Biasa Dipertingkat

Selain regex untuk Python, lain-lain yang dipertingkatkan pelaksanaan ungkapan biasa mungkin wujud untuk Perl, Ruby, JavaScript dan PHP. Menyiasat alternatif ini mungkin memberikan pilihan tambahan untuk mengendalikan pandangan panjang berubah-ubah di sebalik penegasan.

Soalan

  • Bolehkah kesan K dilanjutkan ke titik tertentu dalam perlawanan?
  • Adakah terdapat sebarang perlaksanaan ungkapan biasa yang dipertingkatkan untuk Perl, Ruby, JavaScript atau PHP yang menyokong pemerhatian di belakang pembolehubah panjang?

Atas ialah kandungan terperinci Bolehkah Kita Mencapai Pandangan Panjang Pembolehubah Benar di Belakang dalam Ungkapan Biasa?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!