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

How do I escape characters in GitHub code search?

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

我从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"警告。 我的逃避似乎没有做任何事情,我得到的结果是忽略了字符。


我不认为你可以逃避github的字符

从搜索代码doc:

You can't use the following wildcard characters as part of your search
query: . , : ; / \ ` '" = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]. The
search will simply ignore these symbols.


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

  • 克隆贵公司的github源网站
  • 在本地做一个git grep,它支持基本的regexp或扩展的POSIX regexp(git grep -E)
  • 或镐搜索(git log --all -S...
  • git rev-list --all|grep xxx,也允许正则表达式

这些策略不适用于github范围的搜索,这是一种耻辱。


还有一个(有些人可能会说是可耻的)半解决方案/解决方法:使用谷歌......

在搜索字段中,输入site:repo-url以及关键字。

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

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

不幸的是,谷歌不会列出所有结果。这就是为什么我在开始时写半。所以你可以快速尝试与谷歌一起运气,如果你找不到你想要的东西,回退到检查git repo +搜索离线工具,如vscode,intellij或cmd-line-tools,如@Ran所建议的那样不断Hadani

我希望github能够很快提出一个全新的搜索功能,用户可以喜欢而不是讨厌。