关于 Google 代码搜索
常见问题解答
- 你们抓取哪些类型的代码?
- 代码搜索支持哪些 regexp 语法?
- 你们支持哪些编程语言?
- 如何按语言、许可或文件名限制搜索?
- 可以将 Google 代码搜索结果添加到我的网站、IDE 或应用程序吗?
- 你们如何确定针对某一段代码列出的软件许可?
- 如何将我的代码加入 Google 代码搜索结果?
- 如何阻止你们抓取我的代码?
- 我有产品改进建议。如何告诉你们?
- 如果我发现了认为应该删除的代码搜索结果,该如何告诉你们?
- 有哪些使用条款?
Google 代码搜索为您提供了一个搜索互联网上可公开访问的源代码的场所,从而帮助您找到功能定义和代码示例。利用
Google 代码搜索,您可以:
- 使用正则表达式进行更为精确的搜索
- 按语言、许可或文件名限制搜索
- 查看源文件(包含指向其所在的整个包及网页的链接)
1. 你们抓取哪些类型的代码?
我们抓取能够找到的所有可公开访问的源代码,包括存档(.tar.gz、.tar.bz2、.tar 与
.zip)、CVS 知识库以及 Subversion 知识库。
2. 代码搜索支持哪些 regexp
语法?
Google 代码搜索支持除后向引用、归并元素以及归并类之外的 POSIX 扩展正则表达式语法。要搜索空格字符,请使用反斜杠将其转义,例如 hello,\ world。您可以用引号括住文字串 (literal
string) 来进行搜索,例如 "hello,
world"。
我们还支持以下 Perl 扩展名:
\w |
匹配字词字符。(字母数字字符加揰) |
\W |
匹配非字词字符。 |
\s |
匹配空格字符。 |
\S |
匹配非空格字符。 |
\d |
匹配数字字符。 |
\D |
匹配非数字字符。 |
3. 你们支持哪些编程语言?
高级代码搜索页列出了我们能够检测的编程语言。不过,即使您所选择的语言没有在列,您仍可以搜索以该语言编写的代码。我们会尽可能让您能够搜索到更多的代码,包括以我们还不能检测的语言所编写的代码。在能够检测文件的编程语言时,我们会在搜索结果中指明,而您也可以限制搜索,只搜索以该语言编写的代码。
如果我们不能检测您选择的语言,则您可以使用
file:
操作符,因为它可以搜索具有特定扩展名的文件。例如,您可以利用类似以下形式的查询将搜索限制为具有 .x 或 .abc 扩展名的文件:myquery file:\.(x|abc)$。如果我们不能检测您认为非常重要的语言,请务必告诉我们。
4.
如何按语言、许可或文件名限制搜索?
您可以使用高级代码搜索页,也可以使用我们的操作符。操作符包括:
lang:
操作符,按编程语言进行限制(例如 lang:"c++"、-lang:java 或 lang:^(c|c#|c\+\+)$)
license:
操作符,按软件许可进行限制(例如 license:apache、-license:gpl 或 license:bsd|mit)
package:
操作符,按包网址进行限制(例如 package:"www.kernel.org" 或 package:\.tgz$)
file:
操作符,按文件名进行限制(例如 file:include/linux/$ 或 -file:\.cc$)
上述各个操作符的参数可以是用引号括住的的文字串,也可以是正则表达式。正如上面一些例子中所示,各个操作符都可在前面添加减号(
-),从而用作否定操作符。
5. 可以将 Google 代码搜索结果添加到我的网站、IDE
或应用程序吗?
可以。可通过 GData/XML 馈送获得代码搜索结果,我们鼓励您帮助制作 IDE 插件,并将 Google
代码搜索添加到您的网站。
6.
你们如何确定针对某一段代码列出的软件许可?
我们竭尽所能在注释或单独的许可文件(例如 LICENSE、LICENCE、COPYRIGHT、COPYING)中查找许可,来确定代码包的软件许可。如果我们找不到许可,就会指出许可未知摂。请注意,我们的许可检测手段尚不完善,我们尽力列出代码作者指明的许可,但有可能会出现错误,而且有时作者指明的许可也可能是错误的。另外,代码搜索结果也无法告知您某段软件代码所涉及的专利。我们尽可能告知您关于可能的许可条款的信息,但理解对重新使用某段代码的法律要求则是您的责任。
7. 如何将我的代码加入 Google
代码搜索结果?
您可以使用我们的在线表单提交代码。请注意,我们无法将提交的所有代码都添加到索引中,对于何时以及是否显示这些代码也不能作出任何预测或保证。
8. 如何阻止你们抓取我的代码?
Google 代码搜索会考虑 robots.txt,因此,有两种方法可以阻止抓取您的代码:
- 如果您可以访问您的网络服务器的漫游器文件,则可以将您的代码路径添加到
Disallow: 行。了解详情。
- 另外,也可只将漫游器文件放入您的代码包的根目录。这对存档及 CVS、Subversion
等源代码控制知识库均会发生作用。.例如,要指出您不希望我们抓取您的任何代码,可以使用下列代码在根目录中加入一个称为
robots.txt 的文件:
User-agent:*
Disallow:/
请注意,代码搜索可能会花费一些时间才能更新索引并删除您的代码。如果您有紧急请求,请发送电子邮件至以下地址告知我们:codesearch...@google.com。
9.
我有产品改进建议。如何告诉你们?
要与我们分享您的想法,请将其张贴到支持论坛上。Google 代码搜索是 Google
实验室的一部分,因此仍处于前期开发阶段。您的反馈非常重要,能够帮助我们改进该产品。
10.
如果我发现了认为应该删除的代码搜索结果,如何告诉你们?
Google 代码搜索仍属于 Google
实验室,因此搜索结果可能尚不完善。如果您发现搜索结果存在重大问题,请发送电子邮件至以下地址告知我们:codesearch...@google.com。如果您是版权所有者,并认为发现了侵犯到您的版权的结果,请遵循我们的
DMCA 过程申请将其删除。
11. 有哪些使用条款?
请参阅 Google 代码服务条款.