我正在尝试使用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"
警告。我的逃避似乎没有做任何事情,我得到的结果是忽略了字符。
答案 0 :(得分:92)
我认为你不能为github转义字符
来自searching code doc:
您无法在搜索中使用以下通配符 查询:。 ,:; / \`' " = *! ? #$& + ^ | 〜< > (){} [] 。该 搜索只会忽略这些符号。
答案 1 :(得分:3)
您将需要在本地执行此操作。以下是https://stackoverflow.com/a/38288679/362202中的一些选项:
git grep
,它支持基本的正则表达式或扩展的POSIX正则表达式(git grep -E
)git log --all -S...
git rev-list --all|grep xxx
也允许使用正则表达式这些策略不适用于github范围内的搜索,这很可惜。
答案 2 :(得分:1)
GitHub 本身不支持高级代码搜索,例如使用特殊字符或排除或包含特定文件夹,我们可以使用 GitHub1s 在存储库中搜索代码。
GitHub1s 将在线打开 VSCode 中的 repo(因此不需要克隆过程),我们可以使用 VSCode 提供的高级代码搜索进行搜索。
要在 GitHub1s 中打开 repo,只需将 github.com/....
替换为 github1s.com/...
即可在线查看 VSCode 中的 repo(换句话说,在 1s
之前添加 .com
)。>
答案 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很快会提供一种全新的搜索功能,它的用户可以爱不恨。