我需要解析一个html文件并用C#/ .net提取NeedThis *字符串,示例代码为:
<tr class="class">
<td style="width: 120px">
<a href="NeedThis1">NeedThis2</a>
</td>
<td style="width: 120px">
<a href="NeedThis3">
NeedThis4</a>
</td>
<td style="width: 30%">
NeedThis5
</td>
<td>
NeedThis6
</td>
<td style="width: 120px">
NeedThis7
</td>
</tr>
我知道html解析器在这里应该更好,但我需要的只是提取这些文本,这只是一个临时助手工具......
任何人都可以帮助我吗?
谢谢!
答案 0 :(得分:2)
如果你确定你的html是有效的,你可以使用Linq到Xml,否则你最好使用像HTML Agility Pack这样的解析器
答案 1 :(得分:2)
无论你是为一次性还是为“完成的项目”做这件事都没关系。您的任务不是文本提取,并且它不是正则表达式可以有效执行的操作。您正在寻找的数据取决于HTML的结构。您的任务是解析HTML。当您的任务正在解析HTML时,请使用HTML解析器。这并不困难。事实上,除了编写你需要的一堆正则表达式之外,还有很多更容易。
答案 2 :(得分:0)
您好像回答了自己的问题。的 You should use a parser 即可。但如果不这样做,可以使用RE NeedThis.*
当然,如果您想要使用这些字符串的任何上下文,您应该只使用解析器。
答案 3 :(得分:0)
NeedThis2
,但它应该让您了解如何在适当的解决方案中创建自己的RegEx。
<a href="NeedThis1">NeedThis2</a>
RegEx捕获NeedThis2
:
(?:<a[^<a]+?>)(\S)*(?:<[^<]+?a>)
非常讨厌吧? :)