54

首先,我检查了这个问题,但答案是指一个过时的服务。

那么是否有基于网络的(或软件,我不在乎)提供正则表达式搜索互联网内容?

4

5 回答 5

21

由于我完全支持作者,让我在这里写下 superuser.com问题的答案:

来自询问元过滤器的报价:

使关键字搜索效率超过数百 TB(或任何他们的索引到现在)的唯一可能方法是预先计算单词索引。

事实上,一个完整的正则表达式引擎是图灵完备的,你可以编写任意正则表达式来吞噬几乎无限量的 CPU 时间和内存。由于所有这些原因,他们向公众提供正则表达式搜索将是技术上的疯狂。

更新:正如它正确指出的那样,正则表达式不是图灵完备的。请继续关注更详细的答案:

待定...

于 2012-06-20T12:09:27.027 回答
2

正则表达式引擎没有即时搜索。这可能是由于页面的索引方式。允许一个人对网络进行 grep 将需要大量的计算能力。

于 2012-06-20T12:15:11.077 回答
2

dayyan 是正确的,它是反向索引使搜索引擎快速;如果您只有 100 TB 的闪存盘,则无法加速 PB 内容的正则表达式搜索。关键字搜索,反向索引,没问题。

blekko 的网络 grep (https://blekko.com/ws/+/webgrep) 支持正则表达式,但我们获得的大多数搜索都是针对常量字符串,通常在 HTML 中,因为这很有趣:谁使用微格式? 谁使用各种 javascript 库?谁使用各种评论系统?等等。

如果您向我们发送了一个正则表达式,我们很乐意为您运行它。

运行这些搜索包括一个 MapReduce 作业,该作业在我们爬网中的所有 html 上运行。这就是为什么需要一段时间(一两天)才能得到答案的原因。

于 2012-06-23T03:05:58.747 回答
0

虽然您不太可能找到使用完整正则表达式搜索的网站,但 google 确实有一些能力进行匹配。根据您要实现的目标,这可能就足够了。

GoogleGuide似乎相当深入,提供了一些可用的选项。也许如果您举一个您想要搜索的查询类型的示例,我们可以找到解决方案?

于 2012-06-20T12:19:54.367 回答
0

如果它需要是正则表达式,那么我认为你搞砸了。但是,如果您只是在寻找更多的搜索能力,http://www.googleguide.com/advanced_operators_reference.html

于 2012-06-21T16:26:27.293 回答