如何将HTML元素与正则表达式匹配?

0 c# regex .net-4.0

以下代码不起作用,我试图从HTML表中检索TR字符串.此代码或任何其他可用解决方案是否有任何问题?

public static List<string> GetTR(string Tr)
{
    List<string> trContents = new List<string>();

    string regexTR = @"<(tr|TR)[^<]+>((\s*?.*?)*?)<\/(tr|TR)>";

    MatchCollection tr_Matches = Regex.Matches(Tr, regexTR, RegexOptions.Singleline);
    foreach (Match match in tr_Matches)
    {
        trContents.Add(match.Value);
    }

    return trContents;
}
Run Code Online (Sandbox Code Playgroud)

示例输入字符串如下:

"<TR><TD noWrap align=left>abcd</TD><TD noWrap align=left>SPORT</TD><TD align=left>5AT</TD></TR>"
Run Code Online (Sandbox Code Playgroud)

Luk*_*keH 6

使用正则表达式解析HTML是一件麻烦事.

使用HTML Agility Pack等功能正确完成工作.

  • "使用正则表达式解析HTML会让人感到麻烦." 似乎成了这里的正则表达式.... (3认同)