.NET中使用Regex类进行文本匹配,需引入System.Text.RegularExpressions命名空间,通过IsMatch判断匹配,Match/Matches提取内容,Replace替换文本,建议编译常用表达式以提升性能。
在.NET中使用正则表达式进行文本匹配非常常见,主要通过 System.Text.RegularExpressions 命名空间中的 Regex 类来实现。它提供了灵活且强大的方式来查找、替换、分割和验证字符串内容。
使用正则表达式前,先引入命名空间:
using System.Text.RegularExpressions;使用 Regex.IsMatch 方法判断字符串是否符合某个模式:
string input = "联系邮箱是 example@email.com";
string pattern = @"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}";这个例子检测输入文本中是否包含一个符合邮箱格式的字符串。
使用 Regex.Match 或 Regex.Matches 获取实际匹配的文本:
Match match = Regex.Match(input, pattern);如果要找多个匹配项,用 Matches:
MatchCollection matches = Regex.Matches(input, pattern);使用 Regex.Replace 替换符合条件的文本:
string result = Regex.Replace(input, pattern, "[邮箱已隐藏]");也可以使用委托动态生成替换内容:
string result = Regex.Replace(input, pattern, m => m.Value.ToUpper());如果同一个正则表达式会被多次使用,建议创建 Regex 实例并设置 RegexOptions.Compiled 提升性能:
static readonly Regex EmailRegex = new Regex(这样可以在程序启动时编译正则表达式,提高重复调用的效率。
基本上就这些。.NET 的正则功能强大,配合在线调试工具测试模式,能快速解决大多数文本处理问题。