正则表达式解析错误
我有HTML含有这种文本正则表达式解析错误
.......
<a class="product_name" href="index.php?productID=29785">Funny</a>
........
<a class="product_name" href="index.php?productID=29787">Very Funny</a>
......
我想HREF属性值和文本链接,所以我想获得
"index.php?productID=29785", "Funny"
"index.php?productID=29787", "Very Funny"
我用
MatchCollection mc = Regex.Matches(pageData,
"<a class=\"product_name\" href=\"(.+)\">(.+)</a>");
为此。但是,当我调试代码,我看到mc.Count = 0
我想我没有正确逃脱引号,但我不知道。
不要用正则表达式解析HTML。看到here为什么有一个令人信服的理由。使用HTML Agility Pack代替。
正则表达式不适合解析html,但我不会在这个简单的任务中为我的项目添加一个新的依赖项。 –
@ L.B - 那么你会建议什么?编写你自己的解析器/标记器? – Oded
不,我会使用**正则表达式** –
查看以下主题,以找出可能的解决方案(S):
http://www.dotnetperls.com/scraping-html
解析与正则表达式的HTML是臭名昭著的不是一个好主意 –
我得到数= 2在这里,顺便说一下,捕捉组按预期工作。显示的正则表达式适用于所示的html。如果它不起作用,那么无论是:你没有相同的呈现方案,或者b:html更复杂,因为你不应该使用正则表达式 –
来解析HTML,所以很疯狂。它也适用于这里(http://regexhero.net/tester/) – Sklivvz