Bagaimanakah Saya Boleh Mencapai Pandangan Di Sebalik Penegasan Panjang Berubah dalam Ungkapan Biasa?

Susan Sarandon
Lepaskan: 2024-10-29 04:25:02
asal
402 orang telah melayarinya

How Can I Achieve Variable-Length Lookbehind Assertions in Regular Expressions?

Pandang Pembolehubah-Panjang di Sebalik Penegasan dalam Ungkapan Biasa

Ekspresi biasa ialah alat pemadanan corak yang berkuasa, tetapi ia boleh dihadkan apabila melibatkan pembolehubah -panjang melihat di sebalik penegasan. Penegasan melihat di belakang membolehkan anda memadankan rentetan berdasarkan syarat yang mendahului perlawanan. Walau bagaimanapun, ungkapan biasa tradisional hanya menyokong pandangan di belakang penegasan panjang tetap.

Alternatif kepada Penegasan Pandangan Belakang Pembolehubah Panjang

Jika anda perlu melakukan pandangan di belakang penegasan panjang berubah-ubah, terdapat adalah beberapa alternatif:

  1. Modul regex Python: Modul regex dalam Python menyokong pandangan belakang panjang berubah-ubah menggunakan sintaks (?<=...). Modul ini menyediakan pelaksanaan ungkapan biasa yang lebih maju daripada modul semula standard Python.
  2. Simbol Kawalan K: Dalam ungkapan biasa moden, simbol K membolehkan anda membuang aksara daripada padanan sebelum kejadian K. Ini serupa dengan penegasan lihat di belakang, tetapi ia tidak boleh digunakan dua kali dalam ungkapan yang sama dan aksara yang dibuang sentiasa memanjang ke permulaan baris.

Penggantian dengan K

Apabila menggantikan padanan, anda boleh menggunakan K untuk mengecualikan aksara tertentu daripada penggantian. Sebagai contoh, perkara berikut akan menggantikan hanya bahagian "bar" rentetan:

s/(foo.*)\Kbar/new_text/
Salin selepas log masuk

Pandangan Negatif di belakang dengan K

Pandangan negatif di belakang boleh dicapai menggunakan ^ (?:(?!STRING).)* bina. Ini memadankan keseluruhan rentetan secara berkesan tanpa sepadan dengan mana-mana subrentetan yang mengandungi rentetan yang ditentukan.

Pelaksanaan Ungkapan Biasa Dipertingkat

Sesetengah bahasa telah mempertingkatkan pelaksanaan ungkapan biasa yang menyokong panjang berubah-ubah lihat di sebalik penegasan:

  • Modul regex Python
  • Beberapa versi lanjutan enjin regex Perl

Walau bagaimanapun , adalah penting untuk ambil perhatian bahawa tidak semua pelaksanaan ungkapan biasa moden menyokong penegasan lihat belakang panjang berubah-ubah. Sentiasa dinasihatkan untuk merujuk dokumentasi untuk bahasa dan pelaksanaan khusus anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Pandangan Di Sebalik Penegasan Panjang Berubah 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