* metacharacters
* character escapes
* anchors A or ^$
* character classes [][^]
* quantifiers *?+{min,max}
* grouping ()
* substitutions $1 or 1
. any character (almost*)
escape character
| or
A or ^ anchor: start of string
or $ anchor: end of string
[] list or range to be matched
[^] negative list or range (NOT these characters)
d any digit
D any non-digit
w any word character [a-zA-Z0-9_]
W any non-word char. [^a-zA-Z0-9_]
s any whitespace char.
S any non-whitespace char.
tab
newline
carriage return
p{L} - letter
p{P} - punctuation
p{InBasicLatin} - in basic Latin Unicode block
p{InArabic} - in Arabic Unicode block