2012-06-20 123 views
41

首先,我检查了这个question,但answer涉及过时的服务。
是否有支持正则表达式搜索的搜索引擎?

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

+0

我相信如果你想提供[更多细节](http://whathaveyoutried.com/)来围绕你想要完成的事情,你会得到一个更简洁的答案。 –

+15

我想根据正则表达式得到结果,就像我的问题标题所说的那样! – skafandri

+0

谷歌搜索能够找到一些简单的正则表达式匹配。请参阅[本答案](http://webapps.stackexchange.com/questions/19673/is-there-a-way-to-search-in-google-using-regular-expressions-regex/82769#82769)正则表达式搜索的例子。 –

回答

16

让我写在这里从superuser.com question的答案,由于我完全声援作者:

报价从Ask Metafilter

唯一可能的途径,使关键字搜索高效数百TB(或者目前为止的任何索引)都是预先计算单词的索引。

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

+0

等待,如果你的意思是创建一个小型的网络服务,比你是对的(在某些情况下这种服务将会非常有用)。但是,如果我们谈论的是实现一种全功能的网络劫持者,我认为这是疯狂的(好吧,这是可能的,但非常耗时和MIPS消费)。 – gahcep

+9

因此,超时查询花费的时间太长,并不一定是疯狂。 –

+1

@MikeBantegui呃?有很多服务以图灵完整语言评估表达式。如果花费太长时间,它会放弃。 – Navin

2

通过正则表达式引擎没有即时搜索。这可能是由于页面被索引的方式。让一个人在网上打字会花费大量的计算能力。

+8

你的链接现在已经死了 –

0

尽管您不太可能找到使用完整正则表达式搜索的网站,但Google确实有一定的匹配能力。取决于你想要达到的目标可能就够了。

GoogleGuide似乎相当深入与一些可用的选项。也许如果你举一个你想要搜索的查询的例子,我们可以找到一个解决方案?

+1

我检查过这个,但是很差,实际上很差!我不能运行任何*简单的*(与我可以用正则表达式进行比较的简单搜索)搜索,例如\ paul * \(使用Google搜索*的方式**不同于\ paul * \\)或\ paul {3} \和许多其他案例.. – skafandri

+0

这也是非常有趣的权力搜索http://www.johntedesco.net/blog/2012/06/21/how-to-solve-impossible-problems-daniel-russells-awesome- google-search-techniques/ – MutterMumble

1

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

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

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

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

+0

链接已损坏。 – Navin

+1

这是正确的,blekko于2015年3月27日由IBM购买,IBM在该日停止运行blekko的公共搜索引擎。 –