Kumpulan Ungkapan Biasa dalam C#
Memahami kumpulan ungkapan biasa adalah penting apabila bekerja dengan corak padanan yang kompleks dalam C#. Dalam konteks ini, kita akan menyelidiki blok kod tertentu yang menggunakan ungkapan biasa untuk menangkap data daripada rentetan.
Kod itu sepadan dengan mana-mana teks yang disertakan dalam kurungan segi empat sama menggunakan ungkapan biasa @"[(.*? )]". Corak ini mengandungi satu kumpulan penangkapan (.*?), yang sepadan dengan mana-mana jujukan aksara dalam kurungan segi empat sama.
Pertimbangkan rentetan input berikut: "Josh Smith [jsmith]". Proses pemadanan menghasilkan nilai berikut:
Kumpulan pertama, sepadan dengan[0].Kumpulan[0].Nilai, sepadan dengan keseluruhan tangkapan, iaitu "[jsmith]". Walau bagaimanapun, kumpulan kedua, sepadan dengan[0].Kumpulan[1].Nilai, sepadan dengan teks yang ditangkap dalam kurungan, iaitu jsmith.
Ini mungkin kelihatan berlawanan dengan intuisi, tetapi penting untuk diingat bahawa kumpulan pertama sentiasa mewakili keseluruhan perlawanan, manakala kumpulan berikutnya mewakili kumpulan penangkap individu.
Selain itu, bilangan kumpulan dalam koleksi bergantung pada bilangan kumpulan penangkapan yang ditakrifkan dalam ungkapan biasa. Dalam kes kami, hanya terdapat satu kumpulan penangkap, jadi sentiasa ada dua kumpulan: keseluruhan perlawanan dan perlawanan terakhir.
Ringkasnya, kumpulan ungkapan biasa menyediakan cara untuk mengekstrak bahagian tertentu rentetan yang dipadankan . Kumpulan pertama sentiasa mewakili keseluruhan perlawanan, manakala kumpulan berikutnya mewakili teks yang ditangkap dalam kurungan atau pembatas lain yang digunakan dalam ungkapan biasa.
Atas ialah kandungan terperinci Bagaimanakah Kumpulan Ekspresi Biasa Menangkap Data dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!