<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#中编写正则表达式以获取
td
,span
,超链接的内部文本的匹配项。 最佳答案
每次听到同一句子中的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/