为什么Regex.Match只返回1个结果?

Mat*_*yar 3 html c# regex

我正在使用一个正则表达式,将href标签从保存为字符串的html doc剥离出来.以下代码是我在C#控制台应用程序中使用它的方式.

Match m = Regex.Match(htmlSourceString, "href=[\\\"\\\'](http:\\/\\/|\\.\\/|\\/)?\\w+(\\.\\w+)*(\\/\\w+(\\.\\w+)?)*(\\/|\\?\\w*=\\w*(&\\w*=\\w*)*)?[\\\"\\\']");

        if (m.Success)
        {
            Console.WriteLine("values = " + m);
        }
Run Code Online (Sandbox Code Playgroud)

但是,它只返回一个结果,而不是html页面上所有href标记的列表.我知道它有效,因为当我尝试时RegexOptions.RightToLeft,它返回字符串中的最后一个href标签.

我的if语句有什么东西不允许我返回所有结果吗?

aru*_*rul 17

匹配方法搜索字符串的第一个出现,匹配方法搜索所有出现的事件.