C#中正则匹配依赖System.Text.RegularExpressions.Regex类,常用方法包括IsMatch判断匹配、Match/Matches提取结果、Replace替换、Split分割,支持选项设置与常见格式验证。

在C#中进行正则表达式匹配主要依靠 System.Text.RegularExpressions.Regex 类。这个类提供了丰富的静态和实例方法,可以用来验证、查找、替换和分割字符串。下面介绍常用用法和典型场景。
using System.Text.RegularExpressions;
使用 Regex.IsMatch 方法判断一个字符串是否符合某个正则模式。
// 检查是否为手机号
string pattern = @"^1[3-9]\d{9}$";
bool result = Regex.IsMatch("13812345678", pattern);
Console.WriteLine(result); // 输出 True使用 Regex.Match 获取第一个匹配项,或用 Regex.Matches 获取所有匹配。
string text = "我的电话是13812345678,备用号是15987654321";
string pattern = @"1[3-9]\d{9}";
Match match = Regex.Match(text, pattern);
while (match.Success)
{
Console.WriteLine(match.Value); // 输出:13812345678 和 15987654321
match = match.NextMatch();
}使用 Regex.Replace 将匹配的内容替换为指定字符串。
string text = "用户名:admin,邮箱:admin@example.com"; string sensitivePattern = @"\b\w+@[\w.]+\b"; string result = Regex.Replace(text, sensitivePattern, "[已隐藏]"); Console.WriteLine(result); // 输出:用户名:admin,邮箱:[已隐藏]
使用 Regex.Split 按正则规则拆分字符串。
string input = "apple, banana; orange | grape";
string[] parts = Regex.Split(input, @"[,;|\s]+");
foreach (string part in parts)
{
if (!string.IsNullOrWhiteSpace(part))
Console.WriteLine(part);
}
// 输出:apple, banana, orange, grape通过 RegexOptions 枚举设置匹配选项。
string text = "Hello World HELLO C#"; string pattern = @"hello"; MatchCollection matches = Regex.Matches(text, pattern, RegexOptions.IgnoreCase); Console.WriteLine(matches.Count); // 输出 2
@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
@"^\d{17}[\dXx]$"
@"^https?://.+$"
实际开发中建议根据业务需求调整正则复杂度,避免过度匹配或性能问题。
基本上就这些。掌握 IsMatch、Match、Matches、Replace 和 Split 这几个核心方法,配合合适的正则表达式,就能解决大多数文本处理问题。
以上就是C#怎么进行正则表达式匹配 C# Regex类的使用方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号