c#Regex返回所有匹配(字母范围)

时间:2017-08-01 08:58:49

标签: c# regex

我想从下面的字符串和模式返回所有匹配项。 我想要的结果将是7组:e,f,e,g,e,e 但是,控制台打印:e,e。

我能理解这个方法只返回第一场比赛,所以我只得到e。但为什么要打印两次?字母e以字符串重复4次。

string text = "hello from the regex project";
string pattern = "([e-g])";

System.Text.RegularExpressions.Regex r = new 
System.Text.RegularExpressions.Regex(pattern,RegexOptions.IgnoreCase);

Match m = r.Match(text);


foreach (var item in m.Groups)
{
    Console.WriteLine(item);
}

Console.ReadLine();

1 个答案:

答案 0 :(得分:0)

你只参加第一场比赛,你需要处理所有的比赛 类似的东西:

    MatchCollection m = r.Matches(text);

    foreach (var item in m)
    {
        Console.WriteLine(item);
    }