Terjemahan artikel disiapkan khusus untuk siswa kursus "Pengembang C #" .
Kelas Regex mengimplementasikan ekspresi reguler dalam C #. Pada artikel ini, Anda akan belajar cara menggunakan C # Regex untuk memvalidasi berbagai input pengguna.Regex di C # mengimplementasikan ekspresi reguler. Kelas C # Regex menawarkan metode dan properti untuk menganalisis teks besar untuk mencari pola karakter. Pada artikel ini, Anda akan belajar cara menggunakan kelas .NET Regex di C #.
Ekspresi reguler
Ekspresi reguler digunakan untuk memeriksa apakah string cocok dengan pola. Ekspresi reguler (ekspresi reguler atau regex, atau regexp) adalah urutan karakter yang menentukan pola. Suatu pola dapat terdiri dari literal, angka, karakter, operator, atau konstruksi. Pola ini digunakan untuk menemukan kecocokan dalam string atau file.
Ekspresi reguler sering digunakan ketika memeriksa input, parsing dan menemukan string. Misalnya, memeriksa tanggal lahir yang valid, nomor jaminan sosial, nama lengkap, di mana nama dan nama keluarga dipisahkan oleh koma, mencari jumlah kemunculan substring, mengganti substring, format substring, format tanggal, format email yang valid, format mata uang, dan sebagainya.
Regex kelas
Di .NET, kelas Regex mewakili mesin regex. Ini dapat digunakan untuk mem-parsing teks dalam jumlah besar dengan cepat untuk menemukan pola karakter tertentu, mengekstrak, mengedit, mengganti atau menghapus substring teks, dan menambahkan string yang diekstraksi ke koleksi untuk menghasilkan laporan.
Kelas Regex didefinisikan dalam namespace System.Text.RegularExpressions. Konstruktor dari kelas Regex mengambil sebagai parameter string template bersama dengan parameter opsional lainnya.
Cuplikan kode berikut ini membuat ekspresi reguler dari suatu pola. Di sini, polanya sesuai dengan kata yang dimulai dengan huruf "M".
Fragmen kode berikut berisi teks panjang dengan nama-nama penulis yang perlu dianalisis.
Metode Kecocokan digunakan untuk menemukan semua kecocokan dalam ekspresi reguler dan mengembalikan MatchCollection.
Potongan kode selanjutnya melewati koleksi korek api.
Ini kode lengkapnya:
Pada contoh di atas, kode mencari karakter "M". Tetapi bagaimana jika kata itu dimulai dengan "m." Cuplikan kode berikut menggunakan parameter
RegexOptions.IgnoreCase
sehingga Regex tidak peka huruf besar-kecil.
Mengganti beberapa spasi dengan Regex
Metode
Regex.Replace()
digunakan untuk mengganti string yang cocok dengan string baru. Contoh berikut mencari beberapa spasi dalam string dengan satu spasi.
Cuplikan kode berikut menggantikan spasi dengan '-'.
string CleanedString = Regex.Replace(badString, "\\s+", "-");
Memisahkan string menjadi karakter menggunakan Regex
Dalam contoh berikut, pola ekspresi reguler [az] + dan metode
Regex.Split()
digunakan untuk membagi string menjadi karakter, bukan
Regex.Split()
.
Ekspresi Reguler dalam C #
Ekspresi reguler adalah standar pencocokan pola untuk parsing dan mengubah string, dan memungkinkan pengguna untuk mengekspresikan bagaimana program komputer harus mencari pola yang ditentukan dalam teks, dan kemudian apa yang harus dilakukan ketika setiap kecocokan ditemukan dengan pola yang diberikan. Terkadang mereka disingkat "regex". Mereka adalah cara yang ampuh untuk menemukan dan memodifikasi string yang mengambil format tertentu.
Berikut adalah contoh kode C # sederhana yang menunjukkan bagaimana ekspresi reguler digunakan.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace RegularExpression1 { class Program { static void Main(string[] args) { Regex r = new Regex(@"^\+?\d{0,2}\-?\d{4,5}\-?\d{5,6}");
Berikut adalah penjelasan rinci tentang ekspresi reguler dan penggunaannya dalam C # dan .NET:
Ekspresi Reguler dalam C #Regex untuk memeriksa email
Untuk menguji beberapa alamat email, kita dapat menggunakan ekspresi reguler berikut. Kami memisahkan alamat menggunakan pembatas ';'
^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[;]{0,1}\s*)+$
Jika Anda ingin menggunakan pembatas ',' maka gunakan berikut ini
^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[,]{0,1}\s*)+$
dan jika Anda ingin menggunakan kedua pembatas ',' dan ';' lalu gunakan ini
^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[;,.]{0,1}\s*)+$
Dengan demikian, menggunakan ekspresi reguler di atas, Anda dapat memeriksa satu atau beberapa alamat sekaligus.
Cari tahu lebih lanjut di sini:
Regex untuk memeriksa beberapa alamat email .
Memvalidasi input pengguna dengan ekspresi reguler
Artikel ini menjelaskan cara menggunakan ekspresi reguler (kelas Regex dari System.Text.RegularExpressions namespace) di C # dan .NET.
Kita dapat menggunakan metode Regex.Match, yang mengambil input dan ekspresi reguler, dan mengembalikan kesuksesan jika
if (!Regex.Match(firstNameTextBox.Text, "^[AZ][a-zA-Z]*$").Success) {} if (!Regex.Match(addressTextBox.Text, @"^[0-9]+\s+([a-zA-Z]+|[a-zA-Z]+\s[a-zA-Z]+)$").Success) if (!Regex.Match(cityTextBox.Text, @"^([a-zA-Z]+|[a-zA-Z]+\s[a-zA-Z]+)$").Success) if (!Regex.Match(stateTextBox.Text, @"^([a-zA-Z]+|[a-zA-Z]+\s[a-zA-Z]+)$").Success) if (!Regex.Match(zipCodeTextBox.Text, @"^\d{5}$").Success) { if (!Regex.Match(phoneTextBox.Text, @"^[1-9]\d{2}-[1-9]\d{2}-\d{4}$").Success)
Cari tahu lebih lanjut di sini:
Memvalidasi input pengguna dengan ekspresi regulerPisahkan string menggunakan Regex.split (regex) di C #
Di bagian ini, kita akan belajar cara memecah string menggunakan RegEx di C #. Regex memecah string berdasarkan suatu pola. Ini memproses pembatas yang ditentukan sebagai templat. Inilah sebabnya mengapa Regex lebih baik daripada string. Berikut adalah beberapa contoh cara memecahkan string menggunakan Regex di C #. Mari kita menulis kodenya.
Untuk menggunakan Regex untuk membagi string, tambahkan ruang nama berikut.
using System; using System.Text.RegularExpressions; using System.Collections.Generic;
Contoh 1:Pisahkan angka dari string menggunakan Regex.
string Text = "1 One, 2 Two, 3 Three is good."; string[] digits = Regex.Split(Text, @"\D+"); foreach (string value in digits) { int number; if (int.TryParse(value, out number)) { Console.WriteLine(value); } }
Kode di atas memecah string menggunakan \ D +, dan menampilkan angka dengan mengulangi hasilnya.
Cari tahu lebih lanjut di sini:
Pisahkan string menggunakan ekspresi reguler dalam C #Ganti karakter khusus dari string dengan regex
Di bagian ini, saya akan memberi tahu Anda cara mengganti karakter khusus dengan ekspresi reguler di C #.
Jika Anda memiliki string dengan karakter khusus dan Anda ingin menghapus atau menggantinya, Anda dapat menggunakan ekspresi reguler untuk ini.
Gunakan kode berikut:
Regex.Replace(your String, @"[^0-9a-zA-Z]+", "")
Kode ini akan menghapus semua karakter khusus, tetapi jika Anda tidak ingin menghapus beberapa karakter khusus, misalnya, koma "," dan titik dua ":" - buat perubahan berikut:
Regex.Replace(Your String, @"[^0-9a-zA-Z:,]+", "")
Dengan cara yang sama, Anda dapat membuat perubahan sesuai dengan kebutuhan Anda.
Catatan:
Perlu dicatat bahwa ekspresi reguler bukan obat mujarab untuk setiap manipulasi string kecil. Jika Anda membutuhkan penguraian sederhana yang disediakan oleh kelas String atau kelas lain, coba dan gunakan.
Untuk bacaan lebih lanjut
Jika Anda baru mengenal ekspresi reguler, saya sarankan membaca artikel ini,
Pengantar Ekspresi Reguler .
Inilah artikel lain: "
Menggunakan Ekspresi Reguler di C # "