How to search on GitHub to get exact string matches, including special characters

You couldn’t (before 2022). The official GitHub searching rules:

Due to the complexity of searching code, there are a few restrictions
on how searches are performed:

  • Only the default branch is considered. In most cases, this will be the master branch.
  • Only files smaller than 384 KB are searchable.
  • Only repositories with fewer than 500,000 files are searchable.
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • At most, search results can show two fragments from the same file, but there may be more results within the file.
  • You can’t use the following wildcard characters as part of your search query:
    . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]
    The search will simply ignore these symbols.

Update: GitHub supports literal strings now, but you can also try some more powerful ways below.


Try Sourcegraph

For complex search with regex support try Sourcegraph.

enter image description here


Clone and use git-grep:

git support searching in sources with git-grep command. Just clone a repository and use the command in the folder:

git grep "text-to-search"

Alternatives:

I recommend you to try ripgrep tool, it’s fast and simple. Works like git-grep but looks nicer:

rg "text-to-search"

And you can use the standard grep to search any text in files:

grep -r "text-to-search" /repository

Leave a Comment