2009-08-17 104 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的傾向。例如,它至少爲[:]帶來了一些東西,即使它並不總是你要找的東西。