Một biểu hiện thông thường là một mẫu có thể được đối sánh với văn bản đầu vào. Khuôn khổ .Net cung cấp một công cụ biểu thức chính quy cho phép đối sánh như vậy. Một mẫu bao gồm một hoặc nhiều ký tự, toán tử hoặc cấu trúc.
Cấu trúc để xác định biểu thức chính quy
Mục lục
Có nhiều danh mục ký tự, toán tử và cấu trúc khác nhau cho phép bạn xác định các biểu thức chính quy. Nhấp vào các liên kết sau để tìm các cấu trúc này.
Lớp Regex
Lớp Regex được sử dụng để biểu diễn một biểu thức chính quy. Nó có các phương pháp thường được sử dụng sau:
| Sr.No. | Phương pháp & Mô tả |
|---|---|
| 1 | public bool IsMatch (đầu vào chuỗi) Cho biết liệu biểu thức chính quy được chỉ định trong hàm tạo Regex có tìm thấy kết quả phù hợp trong chuỗi đầu vào được chỉ định hay không. |
| 2 | public bool IsMatch (đầu vào chuỗi, int startat) Cho biết liệu biểu thức chính quy được chỉ định trong hàm tạo Regex có tìm thấy khớp trong chuỗi đầu vào được chỉ định hay không, bắt đầu từ vị trí bắt đầu được chỉ định trong chuỗi. |
| 3 | công khai tĩnh bool IsMatch (đầu vào chuỗi, mẫu chuỗi) Cho biết liệu biểu thức chính quy được chỉ định có tìm thấy khớp trong chuỗi đầu vào được chỉ định hay không. |
| 4 | công khai các trận đấu MatchCollection (đầu vào chuỗi) Tìm kiếm chuỗi đầu vào được chỉ định cho tất cả các lần xuất hiện của một biểu thức chính quy. |
| 5 | chuỗi công khai Thay thế (đầu vào chuỗi, thay thế chuỗi) Trong một chuỗi đầu vào được chỉ định, hãy thay thế tất cả các chuỗi khớp với mẫu biểu thức chính quy bằng một chuỗi thay thế đã chỉ định. |
| 6 | chuỗi công khai[] Tách (đầu vào chuỗi) Tách một chuỗi đầu vào thành một mảng chuỗi con tại các vị trí được xác định bởi một mẫu biểu thức chính quy được chỉ định trong hàm tạo Regex. |
Để có danh sách đầy đủ các phương thức và thuộc tính, vui lòng đọc tài liệu của Microsoft về C #.
ví dụ 1
Ví dụ sau phù hợp với các từ bắt đầu bằng ‘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();
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
Matching words that start with 'S': The Expression: \bS\S* Splendid Suns
Ví dụ 2
Ví dụ sau phù hợp với các từ bắt đầu bằng ‘m’ và kết thúc bằng ‘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();
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
Matching words start with 'm' and ends with 'e': The Expression: \bm\S*e\b make maze manage measure
Ví dụ 3
Ví dụ này thay thế khoảng trắng thừa –
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();
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
Original String: Hello World Replacement String: Hello World
