我想知道什么可能是最快和最简单的方法来抓取字符串中的标签之间的文本。
例如,我有这个字符串:Lorem ipsum <a>dolor sit amet</a>, <b>consectetur</b> adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
而我需要找到标签<a> </a>
和<b> </b>
之间的文本。在web源代码中的标签内容匹配
谢谢。
我想知道什么可能是最快和最简单的方法来抓取字符串中的标签之间的文本。
例如,我有这个字符串:Lorem ipsum <a>dolor sit amet</a>, <b>consectetur</b> adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
而我需要找到标签<a> </a>
和<b> </b>
之间的文本。在web源代码中的标签内容匹配
谢谢。
解析HTML是非常困难的,因为网页很少正确,你会发现很多不匹配的标签和奇怪的奇怪的东西。
如果这是针对真实世界的网页,请使用HTMLAgilityPack。
.+<a>(.+)</a>.+<b>(.+)</b>.+
第一个匹配组将包含A标签和第二组之间的文本 - B标签之间的文本。
<a>(.*)</a>.*<b>(.*)</b>
将工作在这种特殊情况下,但总的来说,用正则表达式解析html不是一个好主意。改为使用HTML/XML解析器。
尝试HTMLAgilityPack:该SO post解释了如何使用它。
你是不是指'()'而不是'{}'? – Amarghosh 2010-06-08 12:06:31
@Amarghosh:是的,谢谢!偶然与VS正则表达式混合在一起 – abatishchev 2010-06-08 12:09:05