Special characters
|
\\ |
escape special characters |
|
. |
matches any character |
|
^ |
matches beginning of string |
|
$ |
matches end of string |
|
[5b-d] |
matches any chars \'5\', \'b\', \'c\' or \'d\' |
|
[^a-c6] |
matches any char except \'a\', \'b\', \'c\' or \'6\' |
|
R|S |
matches either regex R or regex S |
|
() |
creates a capture group and indicates precedence |
Quantifiers
|
* |
0 or more (append ? for non-greedy) |
|
+ |
1 or more (append ? for non-greedy) |
|
? |
0 or 1 (append ? for non-greedy) |
|
{m} |
exactly mm occurrences |
|
{m, n} |
from m to n. m defaults to 0, n to infinity |
|
{m, n}? |
from m to n, as few as possible |
Special sequences
|
\\A |
start of string |
|
\\b |
matches empty string at word boundary (between \\w and \\W) |
|
\\B |
matches empty string not at word boundary |
|
\\d |
digit |
|
\\D |
non-digit |
|
\\s |
whitespace: [ \\t\\n\\r\\f\\v] |
|
\\S |
non-whitespace |
|
\\w |
alphanumeric: [0-9a-zA-Z_] |
|
\\W |
non-alphanumeric |
|
\\Z |
end of string |
|
\\g<id> |
matches a previously defined group |
Special sequences
|
(?iLmsux) |
matches empty string, sets re.X flags |
|
(?:...) |
non-capturing version of regular parentheses |
|
(?P...) |
matches whatever matched previously named group |
|
(?P=) |
digit |
|
(?#...) |
a comment; ignored |
|
(?=...) |
lookahead assertion: matches without consuming |
|
(?!...) |
negative lookahead assertion |
|
(?<=...) |
lookbehind assertion: matches if preceded |
|
(?<!...) |
negative lookbehind assertion |
|
(?(id)yes|no) |
match \'yes\' if group \'id\' matched, else \'no\' |