C# - Ekspresi Reguler
Ekspresi reguler adalah pola yang dapat dicocokkan dengan teks input. Kerangka .Net menyediakan mesin ekspresi reguler yang memungkinkan pencocokan tersebut. Sebuah pola terdiri dari satu atau lebih karakter literal, operator, atau konstruksi.
Konstruk untuk Mendefinisikan Ekspresi Reguler
Ada berbagai kategori karakter, operator, dan konstruksi yang memungkinkan Anda mendefinisikan ekspresi reguler. Klik tautan berikut untuk menemukan konstruksi ini.
Kelas Regex
Kelas Regex digunakan untuk mewakili ekspresi reguler. Ini memiliki metode yang umum digunakan berikut
No.Sr. | Metode &Deskripsi |
1 |
bool publik IsMatch(input string)
Menunjukkan apakah ekspresi reguler yang ditentukan dalam konstruktor Regex menemukan kecocokan dalam string input yang ditentukan. |
2 |
bool publik IsMatch(input string, 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(input string, pola string)
Menunjukkan apakah ekspresi reguler yang ditentukan menemukan kecocokan dalam string input yang ditentukan. |
4 |
Kecocokan MatchCollection publik (input string)
Mencari string input yang ditentukan untuk semua kemunculan ekspresi reguler. |
5 |
Ganti string publik (input string, penggantian string)
Dalam string input yang ditentukan, ganti semua string yang cocok dengan pola ekspresi reguler dengan string pengganti yang ditentukan. |
6 |
string publik[] Split(input string)
Membagi string input menjadi larik substring pada posisi yang ditentukan oleh pola ekspresi reguler yang ditentukan dalam konstruktor Regex. |
Untuk daftar lengkap metode dan properti, silakan baca dokumentasi Microsoft di C#.
Contoh 1
Contoh berikut cocok dengan kata-kata yang dimulai dengan 'S'
Demo Langsung
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 dieksekusi, menghasilkan hasil sebagai berikut
Matching words that start with 'S':
The Expression: \bS\S*
Splendid
Suns
Contoh 2
Contoh berikut mencocokkan kata-kata yang dimulai dengan 'm' dan diakhiri dengan 'e'
Demo Langsung
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 dieksekusi, 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 spasi ekstra
Demo Langsung
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 dieksekusi, menghasilkan hasil sebagai berikut
Original String: Hello World
Replacement String: Hello World