Construct 
Matches 

Characters 
x 
The character x 
\ 
The backslash character 
n 
The character with octal value 0n
(0 <= n <= 7) 
nn 
The character with octal value 0nn
(0 <= n <= 7) 
mnn 
The character with octal value 0mnn
(0 <= m <= 3,
0 <= n <= 7) 
xhh 
The character with hexadecimal value 0xhh 
\uhhhh 
The character with hexadecimal value 0xhhhh 

The tab character ('\u0009') 

The newline (line feed) character ('\u000A') 

The carriagereturn character ('\u000D') 
f 
The formfeed character ('\u000C') 
a 
The alert (bell) character ('\u0007') 
e 
The escape character ('\u001B') 
cx 
The control character corresponding to x 

Character classes 
[abc] 
a, b, or c (simple class) 
[^abc] 
Any character except a, b, or c (negation) 
[azAZ] 
a through z
or A through Z, inclusive (range) 
[ad[mp]] 
a through d,
or m through p: [admp] (union) 
[az&&[def]] 
d, e, or f (intersection) 
[az&&[^bc]] 
a through z,
except for b and c: [adz] (subtraction) 
[az&&[^mp]] 
a through z,
and not m through p: [alqz](subtraction) 

Predefined character classes 
. 
Any character (may or may not match line terminators) 
d 
A digit: [09] 
D 
A nondigit: [^09] 
s 
A whitespace character: [
x0Bf
] 
S 
A nonwhitespace character: [^s] 
w 
A word character: [azAZ_09] 
W 
A nonword character: [^w] 

POSIX character classes (USASCII only) 
p{Lower} 
A lowercase alphabetic character: [az] 
p{Upper} 
An uppercase alphabetic character:[AZ] 
p{ASCII} 
All ASCII:[x00x7F] 
p{Alpha} 
An alphabetic character:[p{Lower}p{Upper}] 
p{Digit} 
A decimal digit: [09] 
p{Alnum} 
An alphanumeric character:[p{Alpha}p{Digit}] 
p{Punct} 
Punctuation: One of !"#$%&'()*+,./:;<=>?@[]^_`{}~ 
p{Graph} 
A visible character: [p{Alnum}p{Punct}] 
p{Print} 
A printable character: [p{Graph}] 
p{Blank} 
A space or a tab: [ ] 
p{Cntrl} 
A control character: [x00x1Fx7F] 
p{XDigit} 
A hexadecimal digit: [09afAF] 
p{Space} 
A whitespace character: [
x0Bf
] 

Classes for Unicode blocks and categories 
p{InGreek} 
A character in the Greek block (simple block) 
p{Lu} 
An uppercase letter (simple category) 
p{Sc} 
A currency symbol 
P{InGreek} 
Any character except one in the Greek block (negation) 
[p{L}&&[^p{Lu}]] 
Any letter except an uppercase letter (subtraction) 

Boundary matchers 
^ 
The beginning of a line 
$ 
The end of a line 

A word boundary 
B 
A nonword boundary 
A 
The beginning of the input 
G 
The end of the previous match 

The end of the input but for the final
terminator, if any 
z 
The end of the input 

Greedy quantifiers 
X? 
X, once or not at all 
X* 
X, zero or more times 
X+ 
X, one or more times 
X{n} 
X, exactly n times 
X{n,} 
X, at least n times 
X{n,m} 
X, at least n but not more than m times 

Reluctant quantifiers 
X?? 
X, once or not at all 
X*? 
X, zero or more times 
X+? 
X, one or more times 
X{n}? 
X, exactly n times 
X{n,}? 
X, at least n times 
X{n,m}? 
X, at least n but not more than m times 

Possessive quantifiers 
X?+ 
X, once or not at all 
X*+ 
X, zero or more times 
X++ 
X, one or more times 
X{n}+ 
X, exactly n times 
X{n,}+ 
X, at least n times 
X{n,m}+ 
X, at least n but not more than m times 

Logical operators 
XY 
X followed by Y 
XY 
Either X or Y 

Grouping operators 
(X) 
X. This capturing group is remembered so it can be referenced later. Numbered starting at 1. 
(?:X) 
X. Used purely for grouping, and isn't remembered. 

Back references 
n 
Whatever the n^{th}
capturing group matched 

Quotation 

Nothing, but quotes the following character 
Q 
Nothing, but quotes all characters until E 
E 
Nothing, but ends quoting started by Q 

Special constructs (all groupings are noncapturing) 
(?idmsuxidmsux) 
Nothing, but turns match flags on  off 
(?idmsuxidmsux:X) 
X, as a noncapturing group with the
given flags on  off 
(?=X) 
X, via zerowidth positive lookahead 
(?!X) 
X, via zerowidth negative lookahead 
(?<=X) 
X, via zerowidth positive lookbehind 
(?<!X) 
X, via zerowidth negative lookbehind 
(?>X) 
X, as an independent, noncapturing group 