\ 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* 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\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(?iLmsux) Matches empty string, sets re.X flags(?:...) Non-capturing version of regular parentheses(?P<name>...) Creates a named capturing group.(?P=name) Matches whatever matched previously named group(?#...) 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'For a complete guide on regular expressions and the python re module, please
visit the
official documentation.