Comment rechercher sur github pour obtenir des correspondances exactes (comme ce que font les guillemets pour Google)

Je peux rechercher des correspondances exactes à partir de google en utilisant des guillemets comme "system <<-" . Comment faire la même chose pour github? Je ne peux pas le faire fonctionner.

Vous ne pouvez pas Les règles de recherche officielles de GitHub:

En raison de la complexité de la recherche de code, il existe quelques ressortingctions sur la façon dont les recherches sont effectuées:

  • Seule la twig par défaut est considérée. Dans la plupart des cas, ce sera la twig principale.
  • Seuls les fichiers inférieurs à 384 Ko sont consultables.
  • Vous devez toujours inclure au moins un terme de recherche lors de la recherche du code source. Par exemple, la recherche de la language:go n’est pas valide, alors que la amazing language:go is.
  • Tout au plus, les résultats de recherche peuvent afficher deux fragments du même fichier, mais le fichier peut contenir davantage de résultats.
  • Vous ne pouvez pas utiliser les caractères génériques suivants dans le cadre de votre requête de recherche :
    . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]
    La recherche ignorera simplement ces symboles.

Solution de contournement:

Si vous devez effectuer une recherche dans un seul référentiel, vous pouvez le cloner localement et utiliser grep pour rechercher une chaîne exactement:

 grep -r "system <<-" /repository_dir 

Vous pouvez utiliser Google directement.

Que dis-tu de ça?

 "your_ssortingng_to_search" site::https://github.com "your_ssortingng_to_search" site::https://gist.github.com 

Aujourd’hui, j’essayais de logback.xml une correspondance exacte de la filter class de filter class dans les fichiers nommés logback.xml dans n’importe quel logback.xml sur Github. Et j’ai trouvé la requête suivante qui a fait le travail.

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

Pour activer les correspondances exactes avec les guillemets, vous devez suivre votre recherche avec le modificateur “in: file”. Les correspondances ne sont pas tout à fait exactes, le mot “classe” devra suivre le mot “filtre”, mais il semble qu’il puisse y avoir 0 ou plusieurs espaces ou symboles entre les deux mots.

Si votre paquet est dans debian, vous pouvez utiliser leur recherche de code, qui supporte les expressions régulières: https://codesearch.debian.net/