Special Characters
$ ^ * + ? . ( ) [ ] { } | \ /
The special characters or meta-characters above needs to be escaped with \.
Some variants of regex have different meta-characters. It is good to be aware of it.
Alternation
Write two or more patterns separated by pipe | characters and surround the entire expression in parentheses ().
Example: /(red panda|flamingo|capybara)/
Set of Characters
Check a string against a set of characters by putting them inside brackets [].
It is good practice to group characters by type:
- digits
- uppercase letters
- lowercase letters
- whitespace
- non-alphanumeric characters
Non-alphanumerics group generally comes first of last in the character class, for readability.
Range of Characters
You can match a range of characters by putting a - between two characters in the set of characters.
/[0-9][A-F][a-f]/
Negated Classes
Negate a range by putting a caret ^ at the beginning of the range:
/[^y]/
This will highlight everything in a string, except y.
Capture Groups
Capture groups, grouping surrended with parentheses (), let’s you capture the matching characters inside the parentheses.
These matches can be reused later in the same regex using backreference, a sequence symbolized by \1, \2,, \3… through \9.