Please enable JavaScript to use regex101
/
^
r
e
g
e
x
[
\
-
_
]
?
1
0
1
$
/
i
Reg
ular
Ex
pressions
101
Upgrade to Pro
Enterprise
Regular Expression
/
^(?<Email>.*@)?(?<Protocol>\w+:\/\/)?(?<SubDomain>(?:[\w-]{2,63}\.){0,127}?)?(?<DomainWithTLD>(?<Domain>[\w-]{2,63})\.(?<TopLevelDomain>[\w-]{2,63}?)(?:\.(?<CountryCode>[a-z]{2}))?)(?:[:](?<Port>\d+))?(?<Path>(?:[\/]\w*)+)?(?<QString>(?<QSParams>(?:[?&=][\w-]*)+)?(?:[#](?<Anchor>\w*))*)?$
/
gm
Input 1
1
New
https://www.stackoverflow.co.uk/path/2?q=mysearch&and=more#stuff foo://5th.4th.3rd.example.com:8042/over/there foo://subdomain.example.com:8042/over/there?q=mysearch&name=ferret#nose xn--diseolatinoamericano-66b.com jane.doe@my-bank.no example.com www.example.com example.co.uk trailing-slash.com/ trailing-pound.com# trailing-question.com? probably-not-valid.com.cn probably-not-valid.com.cn?&# probably-not-valid.com.cn/?&# example.com/page example.com?key=value # Example of URLs that SHOULD NOT match: test.example.com sub.test.example.com
Extraction
https://www.stackoverflow.co.uk/path/2?q=mysearch&and=more#stuff foo://5th.4th.3rd.example.com:8042/over/there foo://subdomain.example.com:8042/over/there?q=mysearch&name=ferret#nose xn--diseolatinoamericano-66b.com jane.doe@my-bank.no example.com www.example.com example.co.uk trailing-slash.com/ trailing-pound.com# trailing-question.com? probably-not-valid.com.cn probably-not-valid.com.cn?&# probably-not-valid.com.cn/?&# example.com/page example.com?key=value # Example of URLs that SHOULD NOT match: test.example.com sub.test.example.com