正则表达式,用于匹配标签的最后一次出现

时间:2019-05-06 16:01:51

标签: regex go regex-group regex-greedy

我正在尝试从下面的HTML代码中提取联系人链接。我已经尝试过了,但是似乎没有用:

\"([^\"]*)\"(.*?)?\>(Kontakt)

以及部分HTML代码:

<li id="cc-nav-view-2315645627" class="jmd-nav__list-item-0">
    <a href="/" data-link-title="Start" class="cc-nav-current j-nav-current jmd-nav__link--current">Start</a>
</li>
<li id="cc-nav-view-2315645625" class="jmd-nav__list-item-0">
    <a href="/öffnungszeiten-schließzeiten/" data-link-title="Öffnungszeiten &amp; Schließzeiten">Öffnungszeiten &amp; Schließzeiten</a>
</li>
<li id="cc-nav-view-2316315025" class="jmd-nav__list-item-0">
   <a href="/flyer/" data-link-title="Flyer">Flyer</a>
</li>
<li id="cc-nav-view-2315732425" class="jmd-nav__list-item-0">
    <a href="/anfahrt/" data-link-title="Anfahrt">Anfahrt</a></li>
<li id="cc-nav-view-2315645825" class="jmd-nav__list-item-0">
    <a href="/kontakt-termin-verbeinaren/" data-link-title="Kontakt / Termin verbeinaren">Kontakt / Termin verbeinaren</a>
</li>

我需要通过联系人链接获取最后a href次出现的信息,但是regexp返回完整的字符串。

选中此link

1 个答案:

答案 0 :(得分:1)

This expression可能会帮助您设计所需的对象:

(.*)(<a href=")([A-z0-9-\/]+)(".*)

它从开始使用(.*)滑动到最后一个href,然后可以添加希望捕获该目标URL的任何边界。

enter image description here

此图显示了它的工作方式:

enter image description here

我不确定,是只需要URL还是整个标签。如果您希望获得整个标签,则可以将表达式简单地修改为similar to

(.*)((<a href=")(.*)(\<\/a\>))