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 |