Grep Regex Cheat Sheet



A cheat sheet about regular expressions in Sublime Text.

expressionDescription
.Match any character
^Match line begin
$Match line end
*Match previous RE 0 or more times greedily
*?Match previous RE 0 or more times non-greedily
+Match previous RE 1 or more times greedily
+?Match previous RE 1 or more times non-greedily
?Match previous RE 0 or 1 time greedily
??Match previous RE 0 or 1 time non-greedily
A|BMatch either RE A or B
{m}Match previous RE exactly m times
{m,n}Match previous RE m to n times greedily
{m, n}?Match previous RE m to n times, no-greedily
expressionDescription
[abc]Match either a, b or c
[^abc]Match any character not in this set (i.e., not a, b and c)
[a-z]Match the range from a to z
[a-f2-8]Match the range from a to z or the range from 2 to 8
[a-z]Match a, - or z
[a-]Match a, -
[-a]Match -, a
[-a]Match -, a
[{}*|()[]+^$.?]Match either one of the chacters in []{}*|()+^$?.

Grep Regex Cheat Sheet Printable

  • Note that you can also use character class inside [], for example, [w] matches any character in word character class.

“Multiple character” character class

Quick-Start: Regex Cheat Sheet. Os mavericks update. The tables below are a reference to basic regex. While reading the rest of the site, when in doubt, you can always come back and look here. (It you want a bookmark, here's a direct link to the regex reference tables ). I encourage you to print the tables so you have a cheat sheet on your desk for quick reference. Feel free to email me with any GREP questions you might have. Chances are, the GREP you need has been done before and can be found online or through my resources. Be sure to check out Peter Kahrel’s book, “Grep in InDesign.” If you’re a member of Adobe’s InDesign User Group, you can get it at a discount. You can use regex such as ‘.’ in the search string. Ngrep -d any “domain.com” port 80. Or use regex to search for ‘pass’ or ‘USER’ ngrep -d any “pass USER” port 80. And ignore case with -i to match for ‘user’ as well. Ngrep -d any -i “pass USER” port 80. If you’re logged in via SSH you might want to ignore your. GREP cheat sheet characters — what to seek ring matches ring, springboard, ringtone, etc. Matches almost any character h.o matches hoo, h2o, h/o, etc. Use to search for these special characters. (quiet) matches (quiet)c:windows matches c:windows alternatives — (OR) cat dog match cat or dog order matters if short alternative is part of longer. Many programs use regular expression to find & replace text. However, they tend to come with their own different flavor. You can probably expect most modern software and programming languages to be using some variation of the Perl flavor, 'PCRE'; however command-line tools (grep, less.) often use the POSIX flavor (sometimes with an extended.

Grep Regex Cheat Sheet

An expression of the form [[:name:]] matches the named character class name.

Grep Regex Cheat Sheet Pdf

Grep Regex Cheat Sheet
class nameDescription
alnumAny alpha-numeric character
alphaAny alphabetic character.
digitAny decimal digit.
xdigitAny hexadecimal digit character.
lowerAny lower case character.
upperAny upper case character.
cntrlAny control character1.
printAny printable character.
punctAny punctuation character. 2
spaceAny whitespace character. 3
wordAny word character (alphanumeric characters plus the underscore).

Note: To use upper and lower, you have to enable case sensitve search.

“Single character” character class

class nameDescription
dEqual to [[:digit:]]
lEqual to [[:lower:]]
uEqual to [[:upper:]]
sEqual to [[:space:]]
wEqual to [[:word:]]
DEqual to [^[:digit:]]
LEqual to [^[:lower:]]
UEqual to [^[:upper:]]
WEqual to [^[:word:]]

Defining capture groups

Grep
expressionDescription
(?<NAME>pattern)Define a regex group named NAME which you can later refer to with g{NAME}
(?=pattern)Positive lookahead, consumes zero characters, the preceding RE only matches if this matches
(?!pattern)Negative lookahead, consumes zero characters, the preceding RE only matches if this does not match
(?<=pattern)Positive lookbehind, consumes zero characters, the following RE will only match if preceded with this fixed length RE.
(?<!pattern)Negative lookbehind, consumes zero characters, the following RE will only match if not preceded with this fixed length RE.

Refering to matching groups (capture groups)

expressionDescription
1Refer to first regex group
g{1}Refer to first regex group
g{12}Refer to 12th regex group
g{-1}Refer to last regex group
g{-2}Refer to last but one regex group
  • The regex groups are indexed by the order of their opening braces.
  • Note the g{NUM} form allows for matching regex group index larger than 9, for example, g{12}.

Escapes

class nameDescription
xddA hexadecimal escape sequence - matches the single character whose code point is 0xdd.
x{dddd}A hexadecimal escape sequence - matches the single character whose code point is 0xdddd.

Word boundaries

The following escape sequences match the boundaries of words:

class nameDescription
<Matches the start of a word.
>Matches the end of a word.
bMatches a word boundary (the start or end of a word).
BMatches only when not at a word boundary.

The title image is taken from here.

  1. Control character explanation: https://en.wikipedia.org/wiki/Control_character↩︎

  2. There are 14 punctuation marks in English: https://grammar.yourdictionary.com/punctuation/what/fourteen-punctuation-marks.html↩︎

  3. For whitespace character, see https://en.wikipedia.org/wiki/Whitespace_character↩︎