Skip to content

Instantly share code, notes, and snippets.

@dungdt88
Last active July 23, 2020 09:18
Show Gist options
  • Save dungdt88/4c289eea4945bedeb3616f679b4a8f81 to your computer and use it in GitHub Desktop.
Save dungdt88/4c289eea4945bedeb3616f679b4a8f81 to your computer and use it in GitHub Desktop.
Python URL regex pattern
URL_PATTERN = (
r'(?i)('
r'(?:(?:(?:https?|ftp):)?//)'
r'(?:\S+(?::\S*)?@)?'
r'(?:'
r'(?!(?:10|127)(?:\.\d{1,3}){3})'
r'(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})'
r'(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})'
r'(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])'
r'(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}'
r'(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))'
r'|'
r'(?:'
r'(?:'
r'[a-z0-9\u00a1-\uffff]'
r'[a-z0-9\u00a1-\uffff_-]{0,62}'
r')?'
r'[a-z0-9\u00a1-\uffff]\.'
r')+'
r'(?:[a-z\u00a1-\uffff]{2,}\.?)'
r')'
r'(?::\d{2,5})?'
r'(?:[/?#]\S*)?'
r')'
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment