用c#一个正则表达式匹配到了多个符合正则的结果!

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:56:43
用c#一个正则表达式匹配到了多个符合正则的结果!
应该用什么方法来取得得到的值呢?

使用Regex的Matches方法可以返回一个MatchCollection对象,这个对象返回了当前输入的所有匹配的集合

或者使用Match方法返回第一个匹配,他是一个Match对象,使用Value即可获取当前Match的匹配结果
如果有多个匹配可以继续调用Match对象的NextMatch得到下一个匹配Match对象,但是这个Match对象不一定匹配,可以调用Success获取当前Match对象是否匹配成功

如果想获取捕获组的内容,可以使用Match的Group获取,他是一个带索引器的集合,使用[0]获取匹配内容(也就是Match的Value),由[1]开始依次对应捕获组的编号

using System.Text.RegularExpressions;

Match m;
string content = "AAAAA";
m = Regex.Match(content, @"<td class=.td_line.>\s*<a href='([^>]+?)'>([\S\s]+?)</a></td>");
while (m.Success)
{
url = m.Groups[1].ToString();
m = m.NextMatch();
}

不知道你看的懂不?
还不懂就发邮件问我:zengwei@lawyee.net
我是处理数据经常用这个