RegExp
Character classes
| Pattern | Description | 
|---|---|
. | 
      Any character, except newline | 
\w | 
      Word | 
\d | 
      Digit | 
\s | 
      Whitespace | 
\W | 
      Not word | 
\D | 
      Not digit | 
\S | 
      Not whitespace | 
[abc] | 
      Any of a, b, or c | 
[a-e] | 
      Characters between a and e | 
    
[1-9] | 
      Digit between 1 and 9 | 
    
[[:print:]] | 
      Any printable character including spaces | 
[^abc] | 
      Any character except a, b or c | 
    
Anchors
| Pattern | Description | 
|---|---|
\G | 
      Start of match | 
^ | 
      Start of string * | 
$ | 
      End of string * | 
\A | 
      Start of string | 
\Z | 
      End of string | 
\z | 
      Absolute end of string | 
\b | 
      A word boundary | 
\B | 
      Non-word boundary | 
^abc | 
      Start with abc | 
    
abc$ | 
      End with abc | 
    
For multiline patterns (m flag), ^ and $ will act as start and end of line.
Escaped characters
| Pattern | Description | 
|---|---|
\. \* \\ | 
      Escape special character used by regex | 
\t | 
      Tab | 
\n | 
      Newline | 
\r | 
      Carriage return | 
Groups
| Pattern | Description | 
|---|---|
(abc) | 
      Capture group | 
(a|b) | 
      Match a or b | 
    
(?:abc) | 
      Match abc, but don’t capture | 
    
\1 | 
      Substituted with text matched of the 1st capturing group | 
Quantifiers
| Pattern | Description | 
|---|---|
a* | 
      Match 0 or more | 
a+ | 
      Match 1 or more | 
a? | 
      Match 0 or 1 | 
a{5} | 
      Match exactly 5 | 
a{,3} | 
      Match up to 3 | 
a{3,} | 
      Match 3 or more | 
a{1,3} | 
      Match between 1 and 3 | 
Lookahead & Lookbehind
| Pattern | Description | 
|---|---|
a(?=b) | 
      Match a in baby but not in bay | 
    
a(?!b) | 
      Match a in Stan but not in Stab | 
    
(?<=a)b | 
      Match b in crabs but not in cribs | 
    
(?<!a)b | 
      Match b in fib but not in fab | 
    
0 Comments for this cheatsheet. Write yours!