正则表达式匹配 URL 或者网址

Spoony 54.7m2020-01-311212 次点击1 人收藏2 人感谢
最近在开发「书签」模块。
整理了一些好用的 URL 正则表达式。


正则表达式
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?

匹配
http://regxlib.com/Default.aspx | http://electronics.cnet.com/electronics/0-6342366-8-8994967-1.html

不匹配
www.yahoo.com

-----

正则表达式
^\\{‌‌‌‌2}[\w-]+\\(([\w-][\w-\s]*[\w-]+[$$]?$)|([\w-][$$]?$))

匹配
\\server\service | \\server\my service | \\serv_001\service$

不匹配
\\my server\service | \\server\ service | \\server$\service

-----

正则表达式
^(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)?((25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[0-9])|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.[a-zA-Z]{‌‌‌‌2,4})(\:[0-9]+)?(/[^/][a-zA-Z0-9\.\,\?\'\\/\+&%\$#\=~_\-@]*)*$

匹配
http://www.sysrage.net | https://64.81.85.161/site/file.php?cow=moo's |ftp://user:pass@host.com:123

不匹配
sysrage.net

-----

正则表达式
^([a-zA-Z]\:|\\\\[^\/\\:*?"<>|]+\\[^\/\\:*?"<>|]+)(\\[^\/\\:*?"<>|]+)+(\.[^\/\\:*?"<>|]+)$

匹配
c:\Test.txt | \\server\shared\Test.txt | \\server\shared\Test.t

不匹配
c:\Test | \\server\shared | \\server\shared\Test.?

-----

正则表达式
^(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{‌‌‌‌1}[0-9]{‌‌‌‌2}|[1-9]{‌‌‌‌1}[0-9]{‌‌‌‌1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{‌‌‌‌2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$

匹配
http://site.com/dir/file.php?var=moo | https://localhost |ftp://user:pass@site.com:21/file/dir

不匹配
site.com | http://site.com/dir//

-----

正则表达式
^([a-zA-Z]\:)(\\[^\\/:*?<>"|]*(?<![ ]))*(\.[a-zA-Z]{‌‌‌‌2,6})$

匹配
C:\di___r\fi_sysle.txt | c:\dir\filename.txt

不匹配
c:\dir\file?name.txt

-----

正则表达式
^([a-zA-Z0-9]([a-zA-Z0-9\-]{‌‌‌‌0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{‌‌‌‌2,6}$

匹配
regexlib.com | this.is.a.museum | 3com.com

不匹配
notadomain-.com | helloworld.c | .oops.org

-----

正则表达式
^(((ht|f)tp(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk)(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$

匹配
www.blah.com:8103 | www.blah.com/blah.asp?sort=ASC |www.blah.com/blah.htm#blah

不匹配
www.state.ga | http://www.blah.ru
收藏 ♥ 感谢
暂无回复

登录注册 后可回复。



GitHub