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

2024-11-21 17:44:57
推荐回答(2个)
回答1:

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

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

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

回答2:

using System.Text.RegularExpressions;

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

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