C#中正则表达式(Regex)是用于在字符串中查找并匹配特定文本模式的一种工具。这个工具在字符串处理中非常实用,可以用来验证输入的格式、从字符串中提取有用信息等等。
基本使用方法
C#中使用正则表达式需要引入命名空间System.Text.RegularExpressions
,下面是一个基本的用法示例:
using System.Text.RegularExpressions;
// 定义正则表达式规则
string pattern = @"[0-9]+";
// 匹配字符串并返回匹配结果的集合
MatchCollection matches = Regex.Matches("123abc456def789", pattern);
// 遍历匹配结果集合
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
在上面的示例中,我们定义了一个正则表达式规则[0-9]+
,表示匹配一个或多个数字。然后调用Regex.Matches
方法,在字符串"123abc456def789"
中匹配所有符合规则的子串,并返回一个匹配结果的集合。最后使用foreach
遍历集合,打印出所有匹配到的字符串。
示例说明
示例一:匹配电子邮件地址
下面这个示例演示了如何使用正则表达式过滤出字符串中的电子邮件地址。
using System.Text.RegularExpressions;
// 定义正则表达式规则
string pattern = @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
// 从字符串中匹配电子邮件地址
MatchCollection matches = Regex.Matches("联系我:foo@gmail.com,更多信息请访问www.example.com", pattern);
// 遍历匹配结果集合
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
在上面的示例中,我们定义了一个正则表达式规则,它能够匹配符合电子邮件地址格式的字符串。然后调用Regex.Matches
方法,在字符串"联系我:foo@gmail.com,更多信息请访问www.example.com"
中匹配所有符合规则的电子邮件地址,并返回一个匹配结果的集合。最后使用foreach
遍历集合,打印出所有匹配到的字符串。
示例二:匹配html标签
下面这个示例演示了如何使用正则表达式过滤出字符串中的html标签。
using System.Text.RegularExpressions;
// 定义正则表达式规则
string pattern = @"<[^>]+>";
// 从字符串中匹配html标签
MatchCollection matches = Regex.Matches("<html><body><h1>Hello World!</h1></body></html>", pattern);
// 遍历匹配结果集合
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
在上面的示例中,我们定义了一个正则表达式规则,它能够匹配所有html标签。然后调用Regex.Matches
方法,在字符串"<html><body><h1>Hello World!</h1></body></html>"
中匹配所有符合规则的html标签,并返回一个匹配结果的集合。最后使用foreach
遍历集合,打印出所有匹配到的字符串。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中正则表达式(Regex)过滤内容的基本使用方法 - Python技术站