C # - Ekspresi Reguler
SEBUAH regular expressionadalah pola yang bisa dicocokkan dengan teks masukan. Framework .Net menyediakan mesin ekspresi reguler yang memungkinkan pencocokan tersebut. Sebuah pola terdiri dari satu atau lebih literal karakter, operator, atau konstruksi.
Konstruksi untuk Menentukan Ekspresi Reguler
Ada berbagai kategori karakter, operator, dan konstruksi yang memungkinkan Anda menentukan ekspresi reguler. Klik tautan berikut untuk menemukan konstruksi ini.
Karakter lolos
Kelas karakter
Anchors
Pengelompokan konstruksi
Quantifiers
Konstruksi referensi latar
Konstruksi alternatif
Substitutions
Konstruksi lain-lain
Kelas Regex
Kelas Regex digunakan untuk mewakili ekspresi reguler. Ini memiliki metode yang umum digunakan berikut -
Sr.No. | Metode & Deskripsi |
---|---|
1 | public bool IsMatch(string input) Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam string input yang ditentukan. |
2 | public bool IsMatch(string input, int startat) Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam string input yang ditentukan, dimulai dari posisi awal yang ditentukan dalam string. |
3 | public static bool IsMatch(string input, string pattern) Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string masukan yang ditentukan. |
4 | public MatchCollection Matches(string input) Mencari string input yang ditentukan untuk semua kemunculan ekspresi reguler. |
5 | public string Replace(string input, string replacement) Dalam string masukan yang ditentukan, mengganti semua string yang cocok dengan pola ekspresi reguler dengan string pengganti yang ditentukan. |
6 | public string[] Split(string input) Memisahkan string input menjadi larik substring pada posisi yang ditentukan oleh pola ekspresi reguler yang ditentukan dalam konstruktor Regex. |
Untuk daftar lengkap metode dan properti, baca dokumentasi Microsoft di C #.
Contoh 1
Contoh berikut ini cocok dengan kata-kata yang dimulai dengan 'S' -
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
private static void showMatch(string text, string expr) {
Console.WriteLine("The Expression: " + expr);
MatchCollection mc = Regex.Matches(text, expr);
foreach (Match m in mc) {
Console.WriteLine(m);
}
}
static void Main(string[] args) {
string str = "A Thousand Splendid Suns";
Console.WriteLine("Matching words that start with 'S': ");
showMatch(str, @"\bS\S*");
Console.ReadKey();
}
}
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Matching words that start with 'S':
The Expression: \bS\S*
Splendid
Suns
Contoh 2
Contoh berikut ini cocok dengan kata-kata yang dimulai dengan 'm' dan diakhiri dengan 'e' -
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
private static void showMatch(string text, string expr) {
Console.WriteLine("The Expression: " + expr);
MatchCollection mc = Regex.Matches(text, expr);
foreach (Match m in mc) {
Console.WriteLine(m);
}
}
static void Main(string[] args) {
string str = "make maze and manage to measure it";
Console.WriteLine("Matching words start with 'm' and ends with 'e':");
showMatch(str, @"\bm\S*e\b");
Console.ReadKey();
}
}
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Matching words start with 'm' and ends with 'e':
The Expression: \bm\S*e\b
make
maze
manage
measure
Contoh 3
Contoh ini menggantikan ruang putih ekstra -
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
static void Main(string[] args) {
string input = "Hello World ";
string pattern = "\\s+";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
Console.ReadKey();
}
}
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Original String: Hello World
Replacement String: Hello World