| Character | Matches |
|---|---|
| a | a character |
| . | Any character (except newline) |
| \. | . character |
| \\ | \ character |
| \* | * character |
| Matches | Description | |
|---|---|---|
| [abcd] | Any one of the letters a through d | Set of characters |
| [^abcd] | Any character but a, b, c, or d | Complement of a set of characters |
| [a-d] | Any one of the letters a through d | Range of characters |
| [a-dz] | Any of a, b, c, d, or z | Range of characters |
| Type | Expression | Equivalent To | Description |
|---|---|---|---|
| Word Character | \w | [a-zA-Z0-9_] | Alphanumeric or underscore |
| Non-word Character | \W | [^a-zA-Z0-9_] | Anything but a word character |
| Digit Character | \d | [0-9] | Numeric |
| Non-digit Character | \D | [^0-9] | Non-numeric |
| Whitespace Character | \s | [ \t\n\r\f\v] | Whitespace |
| Non-whitespace Character | \S | [^ \t\n\r\f\v] | Anything but a whitespace character |
| Anchor | Matches |
|---|---|
| ^ | Start of the string |
| $ | End of the string |
| \b | Boundary between word and non-word characters |
| Group Type | Expression |
|---|---|
| Capturing | ( ... ) |
| Non-capturing | (?: ... ) |
| Quantifier | Modification |
|---|---|
| {5} | Match expression exactly 5 times |
| {2,5} | Match expression 2 to 5 times |
| {2,} | Match expression 2 or more times |
| {,5} | Match expression 0 to 5 times |
| * | Match expression 0 or more times |
| {,} | Match expression 0 or more times |
| ? | Match expression 0 or 1 times |
| {0,1} | Match expression 0 or 1 times |
| + | Match expression 1 or more times |
| {1,} | Match expression 1 or more times |
| Quantifier | Modification |
|---|---|
| {2,5}? | Match 2 to 5 times (less preferred) |
| {2,}? | Match 2 or more times (less preferred) |
| {,5}? | Match 0 to 5 times (less preferred) |
| *? | Match 0 or more times (less preferred) |
| {,}? | Match 0 or more times (less preferred) |
| ?? | Match 0 or 1 times (less preferred) |
| {0,1}? | Match 0 or 1 times (less preferred) |
| +? | Match 1 or more times (less preferred) |
| {1,}? | Match 1 or more times (less preferred) |
| Quantifier | Modification |
|---|---|
| ABC|DEF | Match string ABC or string DEF |
| Quantifier | Modification |
|---|---|
| (?=abc) | Zero-width match confirming abc will match upcoming chars |
| (?!abc) | Zero-width match confirming abc will not match upcoming chars |
| Function | Purpose | Usage |
|---|---|---|
| re.search | Return a match object if pattern found in string | re.search(r'[pat]tern', 'string') |
| re.finditer | Return an iterable of match objects (one for each match) | re.finditer(r'[pat]tern', 'string') |
| re.findall | Return a list of all matched strings (different when capture groups) | re.findall(r'[pat]tern', 'string') |
| re.split | Split string by regex delimeter & return string list | re.split(r'[ -]', 'st-ri ng') |
| re.compile | Compile a regular expression pattern for later use | re.compile(r'[pat]tern') |
| Flag | Description |
|---|---|
| re.IGNORECASE | Match uppercase and lowercase characters interchangeably |
| re.VERBOSE | Ignore whitespace characters and allow # comments |