如何使用正则表达式过滤元素[重复]

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但有httphttps的链接

【讨论】:

【参考方案3】:

不需要正则表达式。 试试这个(使用 Jquery):

var links = $('a[href^="http"]');

【讨论】:

以上是关于如何使用正则表达式过滤元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 使用正则表达式过滤掉字母 [重复]

如何使用 Python 将正则表达式应用于系列中的元素 [重复]

JavaScript正则表达式过滤两个字符之间的文本[重复]

使用正则表达式过滤文本

数据库笔记-SQL过滤(LIKE&正则表达式)

dataframe通过正则表达式过滤元素