<table >
    <tr>
        <td colspan="2" style="height: 14px">
            tdtext1
            <a>hyperlinktext1<a/>
        </td>
    </tr>
    <tr>
        <td>
            tdtext2
        </td>
        <td>
            <span>spantext1</span>
        </td>
    </tr>
</table>


这是我的示例文本。如何在C#中编写正则表达式以获取tdspan,超链接的内部文本的匹配项。

最佳答案

每次听到同一句子中的regex和HTML字词时,我都会感到畏缩。我建议检查CodePlex上的HtmlAgilityPack,这是一个非常宽容的HTML解析器,可让您对解析的文档使用XPath查询。它要干净得多,继承您代码的人会感谢您!

编辑

根据下面的评论,下面是一些如何获取这些标签的InnerText的示例。很简单。

var doc = new HtmlDocument();
doc.LoadHtml("...your sample html...");

// all <td> tags in the document
foreach (HtmlNode td in doc.DocumentNode.SelectNodes("//td")) {
    Console.WriteLine(td.InnerText);
}

// all <span> tags in the document
foreach (HtmlNode span in doc.DocumentNode.SelectNodes("//span")) {
    Console.WriteLine(span.InnerText);
}

// all <a> tags in the document
foreach (HtmlNode a in doc.DocumentNode.SelectNodes("//a")) {
    Console.WriteLine(a.InnerText);
}

关于c# - .NET正则表达式内部文本,在td,span,标签之间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2871480/

10-14 16:40
查看更多