.NET's Unik Pengendalian Kumpulan Berulang
akan menangkap (.)
semua aksara yang dipadankan secara individu, bukan hanya yang terakhir. Ini penting untuk fungsi kumpulan mengimbangi.
, menguruskan tangkapan menggunakan timbunan. (?<name>...)
membina menolak penangkapan ke timbunan yang dinamakan. A yang sepadan (?<name>...)
muncul penangkapan dari timbunan itu. Pendekatan berasaskan stack ini adalah kunci untuk mengesahkan struktur bersarang. (?<-name>)
, bekerja secara langsung dengan kumpulan mengimbangi. (?(condition)truePattern|falsePattern)
sering memeriksa jika timbunan bernama kosong. Jika keadaan itu benar, condition
dipadankan; Jika tidak, truePattern
(atau tidak) dipadankan. falsePattern
<code>^(?:[^()]|(?\<open>\()|(?<close>\)))*(?(open)(?!))$</code>
) atau muncul kurungan dari timbunan "terbuka" ((?<open>()
). Penegasan akhir (?<-open>))
memastikan timbunan "terbuka" kosong pada akhir, menunjukkan tanda kurung yang seimbang. (?(open)(?!))
, anda boleh menangkap kandungan bersarang. Kumpulan dalam ((?<name1>(?<name2>subpattern))
) menangkap teks antara penangkapan yang muncul dan perlawanannya sendiri. name2
name1
Kesimpulan
Atas ialah kandungan terperinci Bagaimanakah kumpulan mengimbangi dalam .NET Ekspresi biasa berfungsi untuk mengesahkan struktur bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!