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\' |