如何在GitHub代码搜索中转义字符?

时间:2015-12-12 16:57:01

标签: search github elasticsearch

我正在尝试使用GitHub's code search搜索包含=+等字符的一些代码行。

我从https://help.github.com/articles/searching-code/#considerations-for-code-search了解到这些字符是通配符并且必须被转义,否则它们将被忽略。

以下是一个示例:"if \(done is True\)",另一个:"if (done is True)"

两者都会在搜索栏的右侧返回相同的"your query contains a character that is ignored"警告。我的逃避似乎没有做任何事情,我得到的结果是忽略了字符。

4 个答案:

答案 0 :(得分:92)

我认为你不能为github转义字符

来自searching code doc:

  

您无法在搜索中使用以下通配符   查询:。 ,:; / \`' " = *! ? #$& + ^ | 〜< > (){} [] 。该   搜索只会忽略这些符号。

答案 1 :(得分:3)

您将需要在本地执行此操作。以下是https://stackoverflow.com/a/38288679/362202中的一些选项:

这些策略不适用于github范围内的搜索,这很可惜。

答案 2 :(得分:1)

GitHub 本身不支持高级代码搜索,例如使用特殊字符或排除或包含特定文件夹,我们可以使用 GitHub1s 在存储库中搜索代码。

GitHub1s 将在线打开 VSCode 中的 repo(因此不需要克隆过程),我们可以使用 VSCode 提供的高级代码搜索进行搜索。

要在 GitHub1s 中打开 repo,只需将 github.com/.... 替换为 github1s.com/... 即可在线查看 VSCode 中的 repo(换句话说,在 1s 之前添加 .com)。

enter image description here

enter image description here

答案 3 :(得分:0)

还有一个(有人可能会说可耻)-解决方案/解决方法:使用google ...

在搜索字段中,除了您的关键字外,还输入site:repo-url

我正在redux-logic存储库中搜索action$,并且至少能够过滤出显示在github中的所有其他不需要的action(无美元符号)结果搜索。在Google中,我输入了(注意引号):

site:https://github.com/jeffbski/redux-logic "action$"

不幸的是,谷歌不会列出所有结果。这就是为什么我一开始写 semi 的原因。因此,您可以在Google上快速尝试一下运气,如果找不到您想要的东西,可以退一步来查看git repo,然后使用{@ {}建议的vstool,intellij或cmd-line-tools等离线工具进行搜索3}}

我希望github很快会提供一种全新的搜索功能,它的用户可以爱不恨。