正则表达式是可以与输入文本匹配的模式。.NET框架提供了允许此类匹配的正则表达式引擎。模式由一个或多个字符文字,运算符或构造组成。
例如,如果要匹配以'S'开头的单词,请使用C#中的正则表达式,如以下代码所示-
using System; using System.Text.RegularExpressions; namespace Demo { 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 = "今天发送电子邮件!"; Console.WriteLine("Matching words that start with 'S': "); showMatch(str, @"\bS\S*"); Console.ReadKey(); } } }
输出结果
Matching words that start with 'S': The Expression: \bS\S* Sent
C#中用于正则表达式的Regex类具有以下方法:
序号 | 方法与说明 |
---|---|
1 | public bool IsMatch(string input) 指示在Regex构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项。 |
2 | public bool IsMatch(string input,int start) 指示在Regex构造函数中指定的正则表达式是否从字符串的指定起始位置开始在指定的输入字符串中找到匹配项。 |
3 | public static bool IsMatch(字符串输入,字符串模式) 指示指定的正则表达式是否在指定的输入字符串中找到匹配项。 |
4 | public MatchCollection Matches(字符串输入) 在指定的输入字符串中搜索所有出现的正则表达式。 |
5 | 公共字符串Replace(字符串输入,字符串替换) 在指定的输入字符串中,用指定的替换字符串替换与正则表达式模式匹配的所有字符串。 |
6 | public string [] Split(string input) 在Regex构造函数中指定的正则表达式模式所定义的位置,将输入字符串拆分为子字符串数组。 |