Jquery在网页完整可见文本上使用正则表达式提取文本

发布于 2024-11-09 12:33:51 字数 450 浏览 0 评论 0原文

我知道 James Padolsey 的 jQuery 正则表达式插件: http://james. padolsey.com/javascript/regex-selector-for-jquery/

但我需要一些不同的东西:

  1. 正则表达式应该在网页的整个可见文本中搜索。
  2. 我想获取文本本身,而不是包含它们的元素。

以下将符合要求 1,但不符合要求 2:

$('*').filter(function() {
    return this.text().match(/\d\d\d/);
});

知道如何才能以良好的性能做到这一点吗?

I am aware of the jQuery regex plugin of James Padolsey: http://james.padolsey.com/javascript/regex-selector-for-jquery/

But I need something different:

  1. The regular expression should search in the whole visible text of the web page.
  2. I want to get the text itself, not the element containing them.

The following will match requirement 1, but not 2:

$('*').filter(function() {
    return this.text().match(/\d\d\d/);
});

Any idea how i can do this with a good performance?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痴者 2024-11-16 12:33:51

这应该会为您提供所有匹配项的Array

var text = $('body').text().match(/\d{3}/g);

jsFiddle

This should get you an Array of all matches.

var text = $('body').text().match(/\d{3}/g);

jsFiddle.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文