Rumah >pembangunan bahagian belakang >Tutorial C#.Net >Ungkapan Biasa dalam C#
Pemadanan corak dilakukan dalam C# menggunakan ungkapan biasa dan kelas regex C# digunakan untuk mencipta ungkapan biasa dalam C#, standard untuk pemadanan corak dalam rentetan dan untuk penggantian ditetapkan menggunakan ungkapan biasa dan ia memberitahu komputer melalui pengguna bagaimana untuk mencari corak tertentu dalam rentetan dan apa yang mesti menjadi tindak balas apabila ia menemui corak khusus yang dicari dan regex ialah singkatan bagi ungkapan biasa, ungkapan biasa keseluruhan dalam C# ialah kaedah yang berkuasa untuk mengenal pasti dan menggantikan teks dalam rentetan yang ditakrifkan dalam format tertentu.
Berikut ialah senarai sintaks asas yang digunakan untuk ungkapan biasa dalam C#. Mereka ialah:
Senarai pengkuantiti penting adalah seperti berikut:
Senarai watak istimewa yang penting adalah seperti berikut:
Watak boleh dikumpulkan dengan meletakkannya di antara kurungan segi empat sama. Dengan melakukan ini, sekurang-kurangnya satu aksara dalam input akan menjadi padanan dengan mana-mana aksara dalam kelas.
[]: Julat aksara boleh dipadankan menggunakan []. Pertimbangkan contoh [Xyz]. Ungkapan ini sepadan dengan mana-mana x, y dan z.
Pertimbangkan contoh [c-r]. Ungkapan ini sepadan dengan mana-mana aksara antara c dan r.
Perkara itu boleh dikumpulkan bersama menggunakan kurungan ( dan ).
Pada asasnya, terdapat dua jenis enjin ekspresi biasa. Ia adalah enjin terarah teks dan enjin terarah regex. Enjin terarah regex mengimbas melalui ekspresi regex cuba memadankan token seterusnya dalam ekspresi regex kepada aksara seterusnya. Regex maju jika perlawanan ditemui, jika tidak ia kembali ke kedudukan sebelumnya dalam regex dan rentetan untuk dihuraikan di mana ia boleh mencuba laluan berbeza melalui ekspresi regex. Enjin terarah teks mengimbas melalui rentetan mencuba semua pilih atur ungkapan regex sebelum beralih ke aksara seterusnya dalam rentetan Tiada pengesanan ke belakang atau ke belakang enjin terarah dalam teks. Padanan paling kiri sentiasa dikembalikan oleh enjin regex walaupun terdapat kemungkinan untuk mencari padanan yang tepat kemudian. Enjin bermula dengan aksara pertama rentetan apabila regex akan digunakan pada rentetan. Semua pilih atur yang mungkin digunakan pada aksara pertama dan hasilnya nampaknya gagal, kemudian pilih atur dipindahkan ke aksara kedua dalam rentetan dan proses ini berterusan sehingga enjin regex menemui padanan yang tepat.
Pertimbangkan contoh Periksa air dalam tab mandi sebelum pergi ke bilik mandi. Enjin regex diminta mencari perkataan mandi daripada ayat di atas. Aksara pertama C dipadankan dengan b oleh enjin regex dan ini adalah kegagalan. Jadi, watak seterusnya H cuba dipadankan dengan b oleh enjin regex dan sekali lagi ini adalah kegagalan. Ini berterusan dan apabila enjin regex cuba memadankan watak ke-24ke dengan b, ia sepadan. Jadi, ia berterusan dan memadankan perkataan mandi dari tab mandi dengan perkataan mandi dan enjin melaporkan perkataan mandi dari tab mandi sebagai padanan yang betul dan ia tidak akan diteruskan lagi dalam penyata untuk melihat jika terdapat sebarang padanan lain. Beginilah cara enjin regex berfungsi secara dalaman.
Ungkapan biasa dalam C# menggunakan kaedah berikut. Mereka ialah:
Program C# untuk menunjukkan penggunaan ungkapan biasa untuk pengesahan nombor mudah alih.
Kod:
using System; using System.Text.RegularExpressions; class Check { static void Main(string[] args) { //Mobile numbers are given as a input to an array of strings string[] nos = {"9902147368", "9611967273", "63661820954"}; foreach(string s in nos) { Console.WriteLine("The mobile number {0} {1} a valid number.", s, checkvalid(s) ? "is" : "is not"); } Console.ReadKey(); } // Regex expressions are verified through this code block public static bool checkvalid(string Number) { string cRegex = @"(^[0-9]{10}$)|(^\+[0-9]{2}\s+[0-9] {2}[0-9]{8}$)|(^[0-9]{3}-[0-9]{4}-[0-9]{4}$)"; Regex res = new Regex(cRegex); if (res.IsMatch(Number)) return (true); else return (false); } }
Output:
Atas ialah kandungan terperinci Ungkapan Biasa dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!