Skip to content

Instantly share code, notes, and snippets.

@robsgithub
Last active June 5, 2019 23:42
Show Gist options
  • Save robsgithub/3e06a5da93444d76d77b753b64503f19 to your computer and use it in GitHub Desktop.
Save robsgithub/3e06a5da93444d76d77b753b64503f19 to your computer and use it in GitHub Desktop.

Regular expressions with python:

Common Examples:

import re

#Using match
match = re.search(r'v\d+',"asjd_v003_faksfh")
print match.group()

#Using sub
import re
name = re.sub("\d{4}",'',name) #Example: Gets rid of 4 digit items
name = re.sub("_",'',name) #Example: Gets rid of underscores

Match up to and include x string

match = re.search(r'.+?(?=CTL)...',"test_CTLblah")
control = match.group()

Reference regex

https://regexr.com/

Character classes
.	any character except newline
\w\d\s	word, digit, whitespace
\W\D\S	not word, digit, whitespace
[abc]	any of a, b, or c
[^abc]	not a, b, or c
[a-g]	character between a & g
Anchors
^abc$	start / end of the string
\b\B	word, not-word boundary
Escaped characters
\.\*\\	escaped special characters
\t\n\r	tab, linefeed, carriage return
Groups & Lookaround
(abc)	capture group
\1	backreference to group #1
(?:abc)	non-capturing group
(?=abc)	positive lookahead
(?!abc)	negative lookahead
Quantifiers & Alternation
a*a+a?	0 or more, 1 or more, 0 or 1
a{5}a{2,}	exactly five, two or more
a{1,3}	between one & three
a+?a{2,}?	match as few as possible
ab|cd	match ab or cd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment