- .
- Any character except newline (any char with s)
- \d \D
- Digit / non-digit
- \w \W
- Word character / non-word character
- \s \S
- Whitespace / non-whitespace
- \b \B
- Word boundary / non-boundary
- ^ $
- Start / end of input (or line with m)
- [abc] [^abc]
- Character set / negated set
- [a-z0-9]
- Character range
- a|b
- Alternation — a or b
- * + ?
- Zero or more / one or more / optional
- *? +?
- Lazy quantifiers (match as little as possible)
- {2} {2,} {2,5}
- Exactly / at least / between n and m
- (abc)
- Capture group
- (?:abc)
- Non-capturing group
- (?<name>abc)
- Named capture group
- (?=abc) (?!abc)
- Lookahead / negative lookahead
- (?<=abc) (?<!abc)
- Lookbehind / negative lookbehind
- $1 $<name> $&
- Replacement references: group, named group, whole match