Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Kita Mencapai Pandangan Panjang Pembolehubah Benar di Belakang dalam Ungkapan Biasa?

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 10:05:02872semak imbas

 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>

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

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!

Kenyataan:
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