我正在尝试编写用于验证IPv6地址,IPv4地址和主机名的正则表达式。
我的正则表达式为:^[a-zA-Z0-9./_:-]{0,128}$
它正在验证除ipv6地址之外的所有内容,如下所示:
2001:1000:1000:1000:20c:29ff:feee:a40e/64
如果我删除/ 64,它可以工作,但是/ 64它不起作用,需要帮助,因为我是正则表达式的新手。
答案 0 :(得分:1)
首先,我会从魔术事实开始,你的正则表达式适用于
2001:1000:1000:1000:20c:29ff:feee:a40e/64sfddsdsfsdfsrftghyujikafjidsfhisuhfiashufiuashfuahfahffhssiauhfishaiuhsfiuahsfuhaufafas
同样 - 根据你的正则表达式它是一个有效的ipV6:)
Here 您会找到更合适的ip验证正则表达以及有关验证此类数据的其他有用提示。
答案 1 :(得分:0)
我的正则表达式生锈了,但您需要在$
之前添加“/ 64”模式和其他此类子网模式。
答案 2 :(得分:0)
你只是错过了反斜杠:
^[a-zA-Z0-9.\/_:-]{0,128}$
但老实说,这是验证0到128个字符之间的任何字符串,而不仅仅是IPv6地址。
在这里寻找解决方案:Regular expression that matches valid IPv6 addresses