【发布时间】:2013-08-14 00:12:36
【问题描述】:
我需要解析我的 HTML 页面来替换一些链接,这是链接<a href="/{localLink:1144}" title="Bas-rhin">Mauris nec</a> 的形式。问题是我的正则表达式没有正确结束,我认为这是因为 ".
这是我的正则表达式:
Regex r= new Regex("<a href=\"(/{localLink:)(.*)}\" title=\"(.*)\">(.*)</a>");
那个正则表达式不会在每个链接之后结束,第三组不包含标题属性,而是几乎所有的 html,直到我的最后一个 html。
我在这个网站上测试过:
http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
那么,为什么第三组不直接在Bas-Rhin" 之后结束呢?
【问题讨论】:
-
...尤其是第一个答案...
-
我认为这个问题是相关的,请检查标记的答案:Using regular expressions to parse HTML: why not?
-
@stephane 无需测试或阅读您的正则表达式:将
.*替换为.*?,它会变得不贪婪。也别忘了转义{} -
你确定你在测试时没有混淆文本框吗?使用选项“
CultureInvariant”,您的模式与我在 derekslager 上效果很好。