如何从c#中的html内容中查找colspan值?
如何从html表格列中查找colspan的值 我试过了如何从c#中的html内容中查找colspan值?,c#,.net,regex,C#,.net,Regex,如何从html表格列中查找colspan的值 我试过了 <td[^>]*>(.*?)</td> ]*>(**?) 但是,在这里添加什么来获得colspan值,而不考虑位置? 编辑 2013 2012 尝试 <tr[^>]*>\s*<t(d|h)[^>].*?colspan=['"](\d+)['"].*?>\s*(.*?)\s*</t(\1)>\s*</tr> ]*>\s*].*colspan=[
<td[^>]*>(.*?)</td>
]*>(**?)
但是,在这里添加什么来获得colspan值,而不考虑位置?
编辑
2013
2012
尝试
<tr[^>]*>\s*<t(d|h)[^>].*?colspan=['"](\d+)['"].*?>\s*(.*?)\s*</t(\1)>\s*</tr>
]*>\s*].*colspan=[''”](\d+[''”].*>\s*(.*)\s*\s*\s*
但如果没有类似的报价,这将不起作用
<td colspan=2 align="center">
2012
</td>
2012
我建议您使用(可从NuGet获得)进行HTML解析。下面是获取所有具有colspan
属性的td
元素的示例。然后在循环中,您可以获得每个单元格的colspan
属性值:
HtmlDocument hdoc = new HtmlDocument();
hdoc.Load("index.html");
var cells = hdoc.DocumentNode.SelectNodes("//td[@colspan]");
foreach(var cell in cells)
string colspan = cell.Attributes["colspan"].Value;
更新:对于示例HTML,此代码将找到单个单元格,colspan将具有值
2
Regex不是解析HTML的最佳选择。你能提供你试图解析的html样本吗?@SergeyBerezovskiy lazybrezovsky怎么了?它比你的名字更酷。:)
不要使用正则表达式(或其他字符串方法)来解析HTML,不要重新发明轮子并使用@SonerGönül:))同意,Lazybreozvsky更酷。迫不及待地想更改我的护照以获得该名称)只想使用regex@user3085864你能解释一下为什么只需要正则表达式吗?因为我有一个字符串作为html内容。无需加载文档nall@user3085864然后使用hdoc.LoadHtml(您的\u字符串)
而不是加载文件。不要@user3085864你显然没有点击评论中有趣人物的链接;在你的问题下面。请点击阅读HtmlAgilityPack
是这里最好的解决方案,而不是RegEx
。
HtmlDocument hdoc = new HtmlDocument();
hdoc.Load("index.html");
var cells = hdoc.DocumentNode.SelectNodes("//td[@colspan]");
foreach(var cell in cells)
string colspan = cell.Attributes["colspan"].Value;