2009-08-17 163 views
5

问题在代码中常见的字符串:搜索使用谷歌

使用谷歌时,你如何寻找非字母数字字符?

为什么谷歌不总是直接用双引号括起来的字符串呢?

什么是Google的转义字符,例如我将如何搜索包含双引号的内容?


Backgound:

目前我正在学习Grails的。我读Mastering Grails: Grails services and Google Maps(这是非常好的教程系列BTW),当我遇到了下面的代码行传来:

def result = [:] 

通过观察周围的代码好像result被定义为某种类型的地图,但我想了解更多关于“=[:]”的详细信息。

你是如何谷歌这样的事情?

我试图寻找:

grails "[:]" 

但这返回相同的结果设置为搜索 “grails”。

这是因为搜索只是:

"[:]" 

不返回任何结果。

谢谢你的时间!

回答

3

[:]是在Groovy

空映射

您可以learn more about maps and collections herefocus on Groovy maps

我想你应该假设Google会做一个简单的'grep',他们的基础架构会根据语言模型进行更多的搜索。

你可以尝试Google Codesearch

我会鼓励你(在命令行groovyConsole如果您有常规设置)拉起Groovy Console和玩的地图和列表以获得它的窍门。

+0

感谢@lael指点我的文档!虽然我的关于使用谷歌的问题依然存在:(你是说谷歌根本不索引非字母数字字符吗?我一直认为搜索字符串被包含在双引号内是“按原样”搜索的(即不应用任何语言逻辑) ? – 2009-08-18 06:52:31

+0

请参阅http://www.google.com/support/websearch/bin/answer.py?answer=134479 它表示:“忽略标点符号(也就是说,您无法搜索@#$% ^&*()= + [] \和其他特殊字符)。“ Google的搜索本质上是非常具有语言性的,因此对于代码来说效果不佳。使用Google时,您搜索'words'而不搜索我认为这是他们开始Google Codesearch的一个原因http://www.google.com/advanced_search?hl=zh-CN – 2009-08-18 20:43:42

+0

Aha,我明白了Thant会解释谢谢为你的时间! – 2009-08-19 07:22:19

0

不幸的是,您无法在Google中搜索非字母数字字符。 Google会去除这些符号,将它们视为空格。

为此,您必须转向像SymbolHound这样专门为程序员设计的搜索引擎。它主要对StackOverflow进行索引,其他编程站点(论坛,问题和答案站点等)的索引正在增长。

http://www.symbolhound.com

-Tom [全面披露:我SymbolHound的联合创始人]

+0

我喜欢你的搜索引擎的概念,尽管我不得不说我发现搜索结果页面很难阅读,并且眼睛不舒服。 – doelleri 2012-01-17 20:37:45

0

对于代码相关的搜索,谷歌有绊倒我通常会尽量duckduckgo的倾向。例如,它至少为[:]带来了一些东西,即使它并不总是你要找的东西。