Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah kumpulan mengimbangi dalam .NET Ekspresi biasa mengendalikan struktur bersarang?
.NET Ekspresi biasa dalam ungkapan biasa: Senjata pengendalian struktur bersarang
Apakah kumpulan keseimbangan?
Dalam enjin ekspresi biasa .NET, kumpulan baki adalah ciri yang kuat yang membolehkan pemadanan dan pengesahan struktur bersarang dalam rentetan. Ia boleh menjejaki dan mengendalikan hasil tangkapan dari kumpulan yang sama.
Konsep kumpulan pendua
Dalam ungkapan biasa .NET, pelbagai perlawanan kumpulan penangkapan tunggal boleh ditangkap dan melawat mereka selepas padanan. Ini berbeza daripada enjin ekspresi biasa yang lain. Pengenalan kepada kumpulan keseimbangan
Kumpulan baki (? ...) menunjukkan bahawa jika perlawanan sub -ekspresi, penangkapan terakhir dibenarkan muncul dari timbunan kumpulan. Jika timbunan kosong apabila anda cuba muncul, perlawanan kumpulan gagal.
<:> Aplikasi: Sahkan kurungan
Kumpulan keseimbangan adalah baik untuk mengesahkan sama ada tanda kurung dipasangkan dengan betul. Berikut adalah mod yang sepadan dengan rentetan tersebut:
Tekan kurungan kiri ke dalam timbunan dan popkan elemen atas timbunan untuk setiap pendakap kanan. Kurungan kanan yang tidak menandingi akan gagal mencocokkan corak.
mod keadaan
<code>^(?:[^()]|(?<Open>[(])|(?<-Open>[)]))*$</code>mod keadaan, ditulis sebagai (keadaan) Truepattern | Mereka membenarkan syarat penggunaan (contohnya, sama ada timbunan tangkapan tidak ada) untuk menentukan mod mod yang mana. Ini membolehkan rawatan pengesahan dan ralat tambahan.
mod pengesahan pendakap akhir
digabungkan dengan kumpulan keseimbangan dan mod bersyarat, anda boleh membuat mod pengesahan pendakap yang komprehensif:
Extension: Tangkap dan Pengekstrakan Kandungan Bersarang
Kumpulan baki juga boleh digunakan untuk menangkap kandungan bersarang. Dengan menggunakan (? subpattern), bukan sahaja penangkapan muncul dari timbunan B, tetapi juga semua kandungan antara penangkapan dan kumpulan semasa akan ditekan ke dalam timbunan A.
Ini membolehkan pengesahan, penangkapan gred bersarang dan pengekstrakan kandungan dalam mod ekspresi biasa.
Atas ialah kandungan terperinci Bagaimanakah kumpulan mengimbangi dalam .NET Ekspresi biasa mengendalikan struktur bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!