微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式提取包含特定单词的超链接

我需要从一段文本中提取包含url中特定单词的超链接.例;

“这是一个带有某个页面链接的文本.点击此链接< a href =”/ server / specificword.htm>这是指向页面链接< / a>看到那个页面.这是一个没有“specificword”一词的链接:< a href =“/ server / mypage.htm>这是一个在url< / a>中没有”specificword“字样的链接

因此,我需要解析此文本,检查超链接以查看其中一个是否包含单词“specificword”,然后提取整个超链接.然后我会以此结束:

<a href="/server/specificword.htm>this is a link to a page</a>

我需要在网址中具有特定字符的超链接,例如. /server/specificword.htm,不在链接文本中

我试过的一个正则表达式就是这个:/(\u0026lt;a[^\u0026gt;]*\u0026gt;.*?\u0026lt;/a\u0026gt;)|pecificword /
这将匹配文本中的所有超链接或“特定字”.如果文本有多个链接,没有“specificword”这个词,我也会得到这些.

此外,我尝试过这个,但它没有任何结果:

<a.*?href\s*=\s*["\']([^"\'>]*specificword[^"\'>]*)["\'][^>]*>.*?<\/a>

我的正则表达式技巧在这里结束,任何帮助都会很棒….

解决方法

试试这个标签

/<a [^>]*\bhref\s*=\s*"[^"]*SPECIFICWORD.*?<\/a>/

或仅为链接(在第一个捕获组中):

/<a [^>]*\bhref\s*=\s*"([^"]*SPECIFICWORD[^"]*)/

如果您使用PHP,请访问以下链接

preg_match_all('/<a [^>]*\bhref\s*=\s*"\K[^"]*SPECIFICWORD[^"]*/',$text,$results);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐