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

问题描述 投票:-2回答:1

我有一个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

regex
1个回答
1
投票

这个正则表达式工作。谢谢大家。

<a(?:(?!<a).)*?firstProductLink(?:.|\n|\r)*?<\/a>
© www.soinside.com 2019 - 2024. All rights reserved.