эффективный скрипт Regex для выбора ближайшего тега привязки в ключевом слове - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть 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 Ответ

1 голос
/ 30 апреля 2019

Это регулярное выражение сработало.спасибо всем.

<a(?:(?!<a).)*?firstProductLink(?:.|\n|\r)*?<\/a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...