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
.