Regular expression syntax summary

Here are some basic elements of regular expressions in Python:

.
Match any character except a newline.
^
Match the start of the source string.
$
Match the end of the source string.
*
Match 0 or more repetitions of the preceding expression.
+
Match 1 or more repetitions of the preceding expression.
[…]
Match any of a set of characters. Characters may be listed individually; for example, [ace] will match the characters 'a', 'c', or 'e'. A set may also contain character ranges; for example, [0-9a-dA-D] will match any decimal digit, the lowercase characters from 'a' to 'd', or the uppercase characters from 'A' to 'D'. A set may also contain character classes such as \d or \w.
[^…]
Match any character that is not in the given set.
?
Match 0 or 1 repetitions of the preceding expression.
expr1 | expr2
Matches either expr1 or expr2.
(…)
Indicates the start and end of a group.
(?=...)
Matches if the current position is followed by a match for "...". (This is called a positive lookahead assertion.)
(?<=...)
Matches if the current position is preceded by a match for "...". (This is called a positive lookbehind assertion.)
\number
Matches the contents of the group of the same number. Groups are numbered starting from 1.
\b
Match an empty string at the beginning or end of a word. A word is defined as a sequence of characters matched by \w.
\d
Match any decimal digit.
\s
Match any whitespace character.
\w
Match any alphanumeric character, including underscores.