Trang chủ / Tin tức / Thiết kế web 2.0 / Một ví dụ khác sử dụng Regex.IsMath(string)
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Text.RegularExpressions;
namespace
RegularExpressionTutorial
{
class
RegexIsMatchExample
public
static
void
Main(
string
[] args)
// Chuỗi có 1 ký tự
s2 =
"m"
;
Console.WriteLine(
"s2="
+ s2);
// Kiểm tra s2
// Bắt đầu bởi ký tự 'm'
// Quy tắc ^
// ==> true
bool
match = Regex.IsMatch(s2,
"^m"
);
" -Match ^m "
+ match);
// Chuỗi có 7 ký tự
s3 =
"MMnnnnn"
"s3="
+ s3);
// Kiểm tra s3
// Bắt đầu bởi MM
match = Regex.IsMatch(s3,
"^MM"
" -Match ^MM "
// Tiếp theo là ký tự 'n' xuất hiện một hoặc nhiều lần
// Quy tắc ^ và +
"^MMn+"
" -Match ^MMn+ "
// Chuỗi với 1 ký tự
String s4 =
"p"
"s4="
+ s4);
// Kiểm tra s4 kết thúc bởi 'p'
// Quy tắc $
match = Regex.IsMatch(s4,
"p$"
" -Match p$ "
// Chuỗi có 6 ký tự
s5 =
"122nnp"
"s5="
+ s5);
// Kiểm tra s5 kết thúc bởi 'p'
match = Regex.IsMatch(s5,
// Kiểm tra s5
// Bắt đầu bởi một hoặc nhiều ký tự (Quy tắc .)
// Theo sau là ký tự 'n', xuất hiện 1 tới 3 lần (Quy tắc n{1,3} )
// Kết thúc bởi ký tự 'p' (Quy tắc $)
// Kết hợp các quy tắc ., {x,y}, $
".n{1,3}p$"
" -Match .n{1,3}p$ "
String s6 =
"2ybcd"
"s6="
+ s6);
// Kiểm tra s6
// Bắt đầu bởi '2'
// Tiếp theo là 'x' hoặc 'y' hoặc 'z' (Quy tắc [xyz])
// Tiếp theo là bất kỳ xuất hiện 0 hoặc nhiều lần (Quy tắc *)
match = Regex.IsMatch(s6,
"2[xyz].*"
" -Match 2[xyz].* "
s7 =
"2bkbv"
"s7="
+ s7);
// Kiểm tra s7, bắt đầu bất kỳ (một hoặc nhiều lần)
// Tiếp theo là 'a' hoặc 'b' hoặc 'c' (Quy tắc [abc] )
// Tiếp theo là 'z' hoặc 'v' (Quy tắc [zv] )
// Cuối cùng là bất kỳ, 0 hoặc nhiều lần (Quy tắc .*)
match = Regex.IsMatch(s7,
".[abc][zv].*"
" -Match .[abc][zv].* "
Console.Read();
}
RegexIsMatchExample2
String s =
"The film Tom and Jerry!"
// Kiểm tra chuỗi s
// Bắt đầu bởi ký tự bất kỳ, Xuất hiện 0 hoặc nhiều lần (Quy tắc: .*)
// Tiếp theo là "Tom" hoặc "Jerry"
// Kết thúc với bất kỳ, xuất hiện 1 hoặc nhiều lần (Quy tắc .)
// Kết hợp các quy tắc: ., *, X|Z
match = Regex.IsMatch(s,
".*(Tom|Jerry)."
"s="
+ s);
"-Match .*(Tom|Jerry). "
s =
"The cat"
// ==> false
"The Tom cat"
SplitWithRegexExample
// \t: Ký tự TAB
// \n: Ký tự xuống dòng (NewLine character).
TEXT =
"This \t\t is \n my \t text"
"TEXT="
+ TEXT);
// Định nghĩa một Regex:
// Khoảng trắng xuất hiện 1 hoặc nhiều lần.
// Các ký tự khoảng trắng: \t\n\x0b\r\f
// Kết hợp quy tắc: \s và +
String regex =
@"\s+"
" -------------- "
String[] splitString = Regex.Split(TEXT, regex);
Console.WriteLine(splitString.Length);
// ==> 4
foreach
(
str
in
splitString)
Console.WriteLine(str);
// Thay thế tất cả các khoảng trắng với ký tự tab.
String newText = Regex.Replace(TEXT,
"\\s+"
,
"\t"
"New text="
+ newText);