如何使用正则表达式过滤元素[重复]
Posted
技术标签:
【中文标题】如何使用正则表达式过滤元素[重复]【英文标题】:How to filter elements with regex expression [duplicate] 【发布时间】:2015-04-16 03:32:58 【问题描述】:我想选择所有指向外部链接的 a 元素,所以我想要一个只选择匹配的 href 值的选择器
/https?:\/\/[^\/\!\?\<\>\_\*\&\(\)\#\$\@]*/
不同于
window.location.hostname
正确的表达方式是什么?
【问题讨论】:
【参考方案1】:这将是更强大的解决方案,检查与主窗口不同的位置主机名:
var $externalLinks = $('a[href]').filter(function()
return this.hostname != window.location.hostname;
);
-jsFiddle-
【讨论】:
非常好的建议。 @Vohuman Thx 但不知道为什么这被否决了,我一定遗漏了一些明显的东西,也许......?! 答案没有错。有时投反对票的原因不是技术上的! 也许答案没有解决正则表达式,但它解决了我打算使用正则表达式的问题【参考方案2】:$("a:not([href*="+window.location.hostname+"])[href*=http], a:not([href*="+window.location.hostname+"])[href*=https]")
会给你所有没有window.location.hostname
但有http
或https
的链接
【讨论】:
【参考方案3】:不需要正则表达式。 试试这个(使用 Jquery):
var links = $('a[href^="http"]');
【讨论】:
以上是关于如何使用正则表达式过滤元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python 将正则表达式应用于系列中的元素 [重复]