在 :contains jQuery 选择器中使用正则表达式

Using Regex in :contains jQuery Selector

我正在尝试在 :contains jQuery 选择器中使用正则表达式,但在查找支持这样做的文档时遇到问题。我在 domContent 变量中加载了网页的 DOM 并尝试查找包含 webURL 的所有行并将其记录到控制台。我只想输出 DOM.

中列出的电子邮件地址的所有实例
function doStuffWithDOM(domContent) {
      console.log($(domContent).filter(":contains('@')").text())
}

我想将 @ 替换为基于以下正则表达式 \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b

输出电子邮件地址的正则表达式

您不能通过 :contains() 选择器使用正则表达式。

根据documentation,没有任何地方说可以使用正则表达式,参数text只是一个纯字符串文本:

text: A string of text to look for. It's case sensitive.

您正在寻找的是使用过滤器的 function parameter:

这允许您在函数中编写自定义代码(可以包含正则表达式),并且 return true 用于匹配表达式的元素。

有关详细信息,请参阅 linked documentation 中的“使用过滤器函数”部分。