<h1><a href="http://www.csdn.net/article/2012-08-21/2808912" target="_blank" >【历史上的今天】1973 年谷歌联合创始人Sergey Brin诞生</a></h1>
<h4>发表于<span class="ago">20小时前</span>|<span class="view_time">671次阅读</span>|<span class="num_recom">0条评论</span></h4>
<dl>
<dt>
<a href="http://www.csdn.net/article/2012-08-21/2808912" target="_blank"><img src="http://articles.csdn.net/uploads/allimg/120821/28-120R11232290-L.jpg" alt="" /></a>
<dd>Sergey Brin是一位苏联出生的美国籍犹太裔电脑工程师兼企业家,为谷歌创始人之一。24岁与Larry Page在车库里创建了Google,创造了互联网时代的神话。</dd>
</dl>
我想要把
<h1><a href="http://www.csdn.net/article/2012-08-21/2808912" target="_blank" >【历史上的今天】1973 年谷歌联合创始人Sergey Brin诞生</a></h1>
这个标签中的文字匹配出来:
于是我写了一句:
(?<=<a\\s+href=\"[\\s\\S]*?>)([\\s\\S]*?)(?=(</a>))
结果报错了: Look-behind group does not have an obvious maximum length near index 23
在网上查了半天,也没有找到好的解决办法。并且我还不知道这个是怎么引起的。
后面我知道了,这个错误是因为零宽断言的表达式太长引起的。
(?<=<a\\shref=\"[\\s\\S]{0,100}?>)([\\s\\S]*?)(?=(</a>))
结果正确。
在这里,一定要注意,零宽断言中exp一定要有可以达到的长度。