Một ví dụ khác sử dụng Regex.IsMath(string)

Một ví dụ khác sử dụng Regex.IsMath(string):
RegexIsMatchExample.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
 
namespace RegularExpressionTutorial
{
    class RegexIsMatchExample
    {
        public static void Main(string[] args)
        {
            // Chuỗi có 1 ký tự
            string 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");
            Console.WriteLine("  -Match ^m " + match);
 
            // Chuỗi có 7 ký tự
            string s3 = "MMnnnnn";
            Console.WriteLine("s3=" + s3);
 
            // Kiểm tra s3
            // Bắt đầu bởi MM
            // Quy tắc ^
            // ==> true
            match = Regex.IsMatch(s3, "^MM");
            Console.WriteLine("  -Match ^MM " + match);
 
            // Kiểm tra s3
            // Bắt đầu bởi MM
            // Tiếp theo là ký tự 'n' xuất hiện một hoặc nhiều lần
            // Quy tắc ^ và +
            match = Regex.IsMatch(s3, "^MMn+");
            Console.WriteLine("  -Match ^MMn+ " + match);
 
            // Chuỗi với 1 ký tự
            String s4 = "p";
            Console.WriteLine("s4=" + s4);
 
            // Kiểm tra s4 kết thúc bởi 'p'
            // Quy tắc $
            // ==> true
            match = Regex.IsMatch(s4, "p$");
            Console.WriteLine("  -Match p$ " + match);
 
            // Chuỗi có 6 ký tự
            string s5 = "122nnp";
            Console.WriteLine("s5=" + s5);
 
 
            // Kiểm tra s5 kết thúc bởi 'p'
            // ==> true
            match = Regex.IsMatch(s5, "p$");
            Console.WriteLine("  -Match p$ " + match);
 
            // 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}, $
            // ==> true
            match = Regex.IsMatch(s5, ".n{1,3}p$");
            Console.WriteLine("  -Match .n{1,3}p$ " + match);
 
 
            String s6 = "2ybcd";
            Console.WriteLine("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].*");
 
            Console.WriteLine("  -Match 2[xyz].* " + match);
 
            string s7 = "2bkbv";
            Console.WriteLine("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 .*)
            // ==> true
            match = Regex.IsMatch(s7, ".[abc][zv].*");
 
            Console.WriteLine("  -Match .[abc][zv].* " + match);
 
 
            Console.Read();
        }
    }
 
 
}
Kết quả chạy ví dụ:
Ví dụ tiếp theo:
RegexIsMatchExample2.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
 
namespace RegularExpressionTutorial
{
    class RegexIsMatchExample2
    {
        public static void Main(string[] args)
        {
            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
            bool match = Regex.IsMatch(s, ".*(Tom|Jerry).");
            Console.WriteLine("s=" + s);
            Console.WriteLine("-Match .*(Tom|Jerry). " + match);
 
            s = "The cat";
            // ==> false
            match = Regex.IsMatch(s, ".*(Tom|Jerry).");
            Console.WriteLine("s=" + s);
            Console.WriteLine("-Match .*(Tom|Jerry). " + match);
 
            s = "The Tom cat";
            // ==> true
            match = Regex.IsMatch(s, ".*(Tom|Jerry).");
            Console.WriteLine("s=" + s);
            Console.WriteLine("-Match .*(Tom|Jerry). " + match);
 
            Console.Read();
        }
    }
 
}
Kết quả chạy ví dụ:

5- Sử dụng Regex.Split & Regex.Replace

Một trong các phương thức hữu ích khác là Regex.Split(string,string), phương thức này phân tách một chuỗi thành các chuỗi con. Chẳng hạn bạn có chuỗi "One,Two,Three" và bạn muốn phân tách thành 3 chuỗi con ngăn cách bởi dấu phẩy.
SplitWithRegexExample.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
 
namespace RegularExpressionTutorial
{
    class SplitWithRegexExample
    {
        public static void Main(string[] args)
        {
            // \t: Ký tự TAB
            // \n: Ký tự xuống dòng (NewLine character).
            string TEXT = "This \t\t is \n my \t text";
 
            Console.WriteLine("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+";
 
            Console.WriteLine(" -------------- ");
 
            String[] splitString = Regex.Split(TEXT, regex);
 
              
            Console.WriteLine(splitString.Length); // ==> 4
 
            foreach (string str in splitString)
            {
                Console.WriteLine(str);
            }
 
            Console.WriteLine(" -------------- ");
 
            // Thay thế tất cả các khoảng trắng với ký tự tab.
            String newText = Regex.Replace(TEXT, "\\s+", "\t");
            Console.WriteLine("New text=" + newText);
 
            Console.Read();
        }
    }
 
}
Chạy ví dụ:

6- Sử dụng MatchCollection & Match