首页 > 解决方案 > 通过正则表达式查找特定的url

问题描述

我需要一个特定的正则表达式模式来在 HTML 的网页中查找 URL

例如,我想搜索这个 url:domainurl.com

这些是带有标签的网址

<a href="https://www.domainurl.com/refer/google-adsense/">fsdf</a>
<a title="Google Adsense" href="https://www.domainurl.com/refer/google-adsense/" target="_blank" rel="nofollow noopener">fgddf</a>
<a href="https://www.domainurl.com/page/pago">domain </a>

使用此代码正则表达式

<a.*?[^>]* href="((https?:\/\/)?([\w\-])+\.{1}domainurl\.([a-z]{2,6})([\/\w\.-]*)*\/?)"

什么 congra 得到这个标签,我想有目标 ="_ blank" rel = "nofollow noopener"

<a title="Google Adsense" href="https://www.domainurl.com/refer/google-adsense/" target="_blank" rel="nofollow noopener">fgddf</a>

target = "_ blank" 和 rel = "nofollow noopener" 是否有任何正则表达式代码?

这就是我所拥有的 https://regexr.com/49hne

标签: htmlregex

解决方案


对于完整的 URL,使用positive lookbehind

(?<=\<a.*?href=\")(.*?\..*?\.[a-z]+)

演示

domainurl.com 使用positive lookbehind

(?<=\<a.*?www\.)([a-z]+\.[a-z]+)

演示2

对于target = "_ blank" and rel = "nofollow noopener"

演示3

target.*?\".*\"

对于domainurl.comtarget = "_ blank" and rel = "nofollow noopener"

演示4


推荐阅读