URL
URL regular expressions can be used to verify if a string has a valid URL format as well as to extract an URL from a string.
URL regex that starts with HTTP or HTTPS
HTTP and HTTPS URLs that start with protocol can be validated using the following regular expression
Test it!
/^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$/
True
False
Enter a text in the input above to see the result
Example code in Java:
URL regex that doesn’t start with HTTP or HTTPS
The regular expression to validate URL without protocol is very similar:
Test it!
/^[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$/
True
False
Enter a text in the input above to see the result
Example code in Java:
Test it!
True
False
Enter a text in the input above to see the result
Notes on URL validation
The above-mentioned regular expressions only cover the most commonly used types of URLs with domain names. If you have some more complex cases you might need a different solution.