Regex Cheat Sheet¶
Regex Syntax¶
| 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 |
Python¶
| 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 |