web-dev-qa-db-ja.com

githubで検索して完全一致を取得する方法(引用符がGoogleに対して行うことなど)

"system <<-"のような引用符を使用して、Googleから完全一致を検索できます。 githubでも同様のことをする方法は?私はそれを機能させることはできません。

178
Ogrish Man

できません。公式のGitHub 検索ルール

コードの検索は複雑であるため、検索の実行方法にはいくつかの制限があります。

  • デフォルトのブランチのみが考慮されます。ほとんどの場合、これはmasterブランチになります。
  • 384 KBより小さいファイルのみが検索可能です。
  • ソースコードを検索するときは、常に少なくとも1つの検索語を含める必要があります。たとえば、language:goの検索は無効ですが、amazing language:goの検索は無効です。
  • 最大で、検索結果は同じファイルからtwoフラグメントを表示できますが、ファイル内にはさらに多くの結果があります。
  • 次のワイルドカード文字を検索クエリの一部として使用することはできません
    . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]
    検索はこれらの記号を無視します。

回避策:

単一のリポジトリで検索する必要がある場合は、ローカルで複製し、grepを使用して文字列を正確に検索できます。

grep -r "system <<-" /repository_dir
109
DenisKolodin

Googleを直接使用できます。

これはどう?

"your_string_to_search" site::https://github.com
"your_string_to_search" site::https://Gist.github.com
33
mrgloom

今日、Githubのレポジトリでfilter classという名前のファイルでlogback.xmlと完全に一致するものを探していました。そして、私は仕事をする次のクエリを思いついた。

"filter class" in:file filename:logback.xml

引用符で完全一致を有効にするには、「in:file」修飾子を使用して検索する必要があります。一致は完全に正確ではないため、Wordの「クラス」はWor​​dの「フィルター」に従う必要がありますが、2つの単語の間に0個以上のスペースまたは記号文字が存在するようです。

12
cessationoftime

@ mrgloom の答えに追加すると、Googleを使用してGithubで特定のプログラミング言語のコードを探している場合、Googleの検索バーで次のようなことができます。

  • 「intext:」検索演算子を使用して、探している特定の文字列を記述します
  • 「ext:」演算子を使用して、興味のあるプログラミング言語を追加します(つまり、「ext:py」、「ext:R」、「ext:rb」など)
  • 前述の「site:」演算子mrgloomを使用して、Githubのすべてのパブリックリポジトリを検索します。

例:

intext:"%% 2 == 0" ext:R site:github.com

Google Results from the example

2
silviaegt

パッケージがdebianの場合、正規表現をサポートするコード検索を使用できます。 https://codesearch.debian.net/

0
Jan Katins