C#正则表达式Regex用法详解
正则表达式是一种可以用来匹配文本和字符串的较为高效的方式,C# 提供了 Regex 类库来支持正则表达式。本文将给出 C# 中使用 Regex 类库的详细用法。
构造函数
Regex 类有多个构造函数,可以接受不同数量和类型的参数,例如:
//默认构造函数
Regex regex = new Regex(@"\d+");
//接受 RegexOptions 参数的构造函数
Regex regexWithOptions = new Regex(@"\d+", RegexOptions.IgnoreCase);
其中,第一个构造函数使用默认选项构造了一个 Regex 对象,其模式是匹配一个或多个数字字符。第二个构造函数添加了 RegexOptions.IgnoreCase
选项,表示忽略大小写进行匹配。除了 Ignorecase
,还有一些其他选项,详情请参考官方文档
匹配字符串
使用 Regex 类的 Match
方法可以匹配一个字符串,并查询字符串中是否存在与正则表达式相符的内容,例如:
string text = "123,456,789";
Match match = regex.Match(text);
if (match.Success)
{
Console.WriteLine("Matched: " + match.Value);
}
以上代码会在 text
中查找一个或多个连续数字,返回第一个匹配结果。如果匹配成功,则输出结果为 Matched: 123
。
注意,Match
方法默认只查询第一个匹配项。如果需要查询所有匹配项,需要使用 Matches
方法:
string text = "123,456,789";
MatchCollection matches = regex.Matches(text);
foreach (Match match in matches)
{
Console.WriteLine("Matched: " + match.Value);
}
以上代码会输出所有匹配到的结果,结果为:
Matched: 123
Matched: 456
Matched: 789
替换字符串
使用 Regex 类的 Replace
方法可以替换一个字符串中与正则表达式相符的内容,例如:
string text = "123,456,789";
string pattern = ",";
string replacement = ";";
string result = Regex.Replace(text, pattern, replacement);
Console.WriteLine(result);
以上代码将字符串中的逗号替换为分号,输出结果为 123;456;789
。
小结
本文讲解了 C# 正则表达式 Regex 类库的常用方法,包括构造函数、匹配字符串和替换字符串等。另外,文章还给出了两个在 C# 中使用 Regex 的示例,希望对读者有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#正则表达式Regex用法详解 - Python技术站