Regular Expressions Cheatsheet


If you work with text, you’ll appreciate how useful regular expressions are. Regular expressions are everywhere in Linux for searching through text right down to the character. This Regular Expressions cheatsheet will be useful for people who simply need a little refresher from time to time.

. (dot)Match any single character, except newline (\n)c.t matches "cat", "cut" or "cot."
* (star)Repeat the previous expression 0 or more times (greedy mode)12*3 matches "13", "123", "1223", "12223". It can be use together with . (dot) such as m.*easier matches "maketecheasier". Using .* by itself is meaningless as it matches everything and return the full result.
+ (plus)Repeat the previous expression 1 or more times. 12+3 matches "123","1223","12223"
? (question mark)Makes the previous item optional. ma?ke matches "make", "mke"
^ (caret)Match from the beginning of the string^he matches "hello", "hell", "help", "he is a boy"
$ (dollar)Match from the end of the stringed$ matches "acted", bed", "greed"
(...) (round bracket)Grouping of characters or expression(ak) matches "make", "take", '
{n} (curly bracket, where n is an integer bigger than 0)Match the previous item exactly n times12{3}5 matches "12225"
[...] (square bracket)match a single character in the bracket[abc] matches "a","b" or "c" in the string "abc".
[^...]Match any character except for those that are defined in the bracketa[^b]c matches "aec", "acc", "adc", but not "abc"
| (pipe)Match either the expression on the left or right of the pipe.col(o|ou)r matches "color", "colour"
- (hypen)Specify a range of characters to match. Used mostly in [a-z], [A-Z],[1-9],[a-zA-Z1-9]a[a-z]c matches "abc", "acc", "adc"
\ (backslash)Escape a special character and turn it into an ordinary character.a\*c matches "a*c".
\n, \r, \tmatch a newline, return and tab character respectively
\b...\bMatch a word within the boundary.\bTech\b matches the word "Tech" in "Make Tech Easier".