Regular Expressions Cheat Sheet
Anchors
^: start of the string or the start of a line in a multiline pattern$: end of the string or the end of a line in a multiline pattern\b: word boundary\B: not word boundary (opposite of\b)
Anchors are non-quantifiable (i.e. cannot be followed by a quantifier).
Character sequences
.: any character except line breaks\w: any word character\W: any non-word character (opposite of\w)\s: any whitespace character\S: any non-whitespace character (opposite of\s)\d: any digit character\D: any non-digit character (opposite of\d)[abc]: a single character in the given set (herea,borc)[^abc]: a single character not in the given set (opposite of[abc])[a-z]: a single character in the given range (here betweenaandzinclusive)[^a-z]: a single character not in the given range (opposite of[a-z])[a-zA-Z]: a single character in either of the given ranges
Use \ to escape special characters (e.g. \, /, [, ], (, ), {, } etc.).
Quantifiers
a?: zero or one ofa(equal toa{0,1})a*: zero or more ofa(equal toa{0,})a+: one or more ofa(equal toa{1,})a{3}: exactly 3 ofaa{3,}: 3 or more ofaa{3,5}: between 3 and 5 ofa(inclusive)
a is any valid quantifiable expression.
Groups
(ab): match and capture everything enclosed (here exactlyab)(a|b): match and capture either one character (hereaorb)(?:ab): match everything enclosed, without capturing
Flags
g: Globalm: Multilinei: Case insensitiveu: Unicode
Note that this cheatsheet is meant only as a starting point and is by no means a complete guide to all the features and nuances of regular expressions.
JavaScript Regular Expression tips
Learn how to level up your regular expressions game, with features such as backreferences, lookaheads and named groups.