正则匹配IP考虑IPv4IPV6
要匹配IPv4和IPv6的正则表达式,可以使用以下正则表达式:
IPv4的正则表达式:\b(?:\d{1,3}.){3}\d{1,3}\b
IPv6的正则表达式:\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b
这两个正则表达式可以分别匹配IPv4和IPv6的格式。使用\b来匹配IP的边界,(?:\d{1,3}.){3}\d{1,3}表示匹配3个数字加上一个点的模式,重复4次,最后再匹配一个数字。对于IPv6,(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}表示匹配7个由数字和字母组成的长度为1到4的块,以冒号分隔,最后再匹配一个长度为1到4的块。
需要注意的是,这只是简单的匹配IP的格式,而不会检查IP的有效性。对于IPv4,还需要进一步验证每个数字的范围是否在0到255之间。对于IPv6,还需要检查每个块的有效性,以及是否存在连续的多个冒号等规则。
原文地址: https://www.cveoy.top/t/topic/hXV6 著作权归作者所有。请勿转载和采集!