REGEX units 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)

    Note: 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 (here a, b or c)

    • [^abc]: a single character not in the given set (opposite of [abc])

    • [a-z]: a single character in the given range (here between a and z inclusive)

    • [^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

    Note: Use \ to escape special characters (e.g. \, /, [, ], (, ), {, } etc.).

    Quantifiers

    • a?: zero or one of a (equal to a{0,1})

    • a*: zero or more of a (equal to a{0,})

    • a+: one or more of a (equal to a{1,})

    • a{3}: exactly 3 of a

    • a{3,}: 3 or more of a

    • a{3,5}: between 3 and 5 of a (inclusive)

    Note: a is any valid quantifiable expression.

    Groups

    • (ab): match and capture everything enclosed (here exactly ab)

    • (a|b): match and capture either one character (here a or b)

    • (?:ab): match everything enclosed, without capturing

    Flags

    • g: Global

    • m: Multiline

    • i: Case insensitive

    • u: 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. You can also read 6 JavaScript Regular Expression features you can use today for a deeper dive into some more advanced features.

Last updated