高效的Regex脚本是选择关键字中最接近的锚标记

时间:2019-04-30 07:51:13

标签: regex

我有一个html,我需要从中选择最接近的锚标签,其关键字类似于

<a href="/sample/product.html">foo bar foo bar</a> provides for 
senior citizens, foo bar foo bar.</p>
<div class="row btm-pad product-landing-btn-block">
<div class="col-md-12 link-section"><span><a title="Search for Life 
Product"                                             
href="${firstProductLink}/sample/product-sample.html">Search for 
Product></a></span>
</div>
</div>   

我有这样的正则表达式

<a(?:.*)firstProductLink(?:.|\n|\r)*?<\/a>

选择firstProductLink的最接近的锚标记

<a title="Search for Life 
Product"                                             
href="${firstProductLink}/sample/product-sample.html">Search for 
Product></a>

相反,正则表达式选择父锚标记

<a href="/sample/product.html">foo bar foo bar</a> provides for 
senior citizens, foo bar foo bar.</p>
<div class="row btm-pad product-landing-btn-block">
<div class="col-md-12 link-section"><span><a title="Search for Life 
Product"                                             
href="${firstProductLink}/sample/product-sample.html">Search for 
Product></a>

我不知道如何解决它。链接尝试https://regex101.com/r/fA6wE2/197

1 个答案:

答案 0 :(得分:1)

此正则表达式有效。谢谢大家。

<a(?:(?!<a).)*?firstProductLink(?:.|\n|\r)*?<\/a>