📅  最后修改于: 2023-12-03 15:42:07.734000             🧑  作者: Mango
在编写网页爬虫或者文本处理程序时,经常需要从文本中提取链接。链接正则表达式就是一种用于匹配链接的正则表达式。
一般来说,完整的链接应该包含协议、域名和路径。如 http://example.com/path/to/file.html。下面是一个匹配完整链接的正则表达式:
/^(http(s)?\:\/\/)?[A-Za-z0-9.-]+(\.[A-Za-z]{2,})(\/\S*)?$/
它由以下几部分组成:
/^...$/
:正则表达式的开始和结束符号。(http(s)?\:\/\/)?
:可选的 http 或 https 协议。[A-Za-z0-9.-]+
:任意个由大小写字母、数字、点号和中划线组成的字符,用于匹配域名的前半部分。(\.[A-Za-z]{2,})
:点号加两个或以上的字母,用于匹配域名的后缀部分。\/\S*
:路径部分,以斜杠开头,后面跟着任意个非空白字符。该正则表达式可匹配以下字符串:
相对链接指的是不包括协议和域名的链接,如 /path/to/file.html。下面是一个匹配相对链接的正则表达式:
/^\/[A-Za-z0-9]+\S*$/
它由以下几部分组成:
/^...$/
:正则表达式的开始和结束符号。\/
:斜杆符号,用于匹配路径的起始部分。[A-Za-z0-9]+
:任意个由大小写字母和数字组成的字符,用于匹配路径的第一个词。\S*
:匹配路径中除第一个词以外的任意个非空白字符。该正则表达式可匹配以下字符串: