用于提取具有指定属性的链接的正则表达式
I'm trying to build regex to extract links from text which have not rel="nofollow".
Example:
aiusdiua asudauih <a rel="nofollow" hre="http://uashiuadha.asudh/adas>adsaag</a> uhwaida <br> asdgydug <a href="http://asdha.sda/uduih/dufhuis>aguuia</a>
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下正则表达式将完成这项工作:
所需的 url 将位于捕获组 #1 中。例如,在 Ruby 中,它会是:
由于它在负向先行中的
rel
之前接受[^>]*?
,href< /code> 或其他任何内容都可以出现在
rel
之前。如果href
出现在rel
之后,当然也可以。The following regex will do the job:
The wanted urls will be in the capture group #1. E.g. in Ruby it would be:
Since it accepts
[^>]*?
beforerel
in the negative lookahead,href
or anything else can come beforerel
. Ifhref
comes afterrel
, it'll of course also be ok.试试这个
<(?:A|AREA)\b[^<>]*?(?!rel="nofollow")[^<>]*?href=['"]([^ >"]*)[^>]*?>
如果您使用 .net 正则表达式,则
数据位于名为 URL 的组或组 1 中
Try this
<(?:A|AREA)\b[^<>]*?(?!rel="nofollow")[^<>]*?href=['"]([^>"]*)[^>]*?>
if you are using .net regex then
data lies in group named URL or group 1