pythex is a quick way to test your Python regular expressions. Try writing one or test the example.
Match result: Match captures:
Activity indicator
Regular expression cheatsheet

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


* 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'
Based on tartley's python-regex-cheatsheet.