【发布时间】:2017-09-12 12:30:53
【问题描述】:
我正在处理自动完成任务,我想检查给定的字符串是否是有效 IPv6 地址的前缀。 例如,字符串“2001:”是这个 ipv6 地址“2001:db8::2:1”的前缀,也可以是这个 ipv6 地址“2001:a8::4:c”的前缀。 如果字符串是某个有效 IPv6 的前缀,我的函数应该返回 true。 我搜索了互联网,我发现的只是 IPv6 验证。 谢谢
【问题讨论】:
-
您是否正在寻找一个正则表达式来匹配以 2000 开头的字符串:?
-
有效的全球 IPv6 地址以
2或3开头,并且在第一个单词中有四个十六进制数字。如果您想考虑诸如 ULA 之类的事情,它会变得更加复杂。 -
@sniperd 2000:只是一个例子。
-
@RonMaupin 我正在寻找可以告诉我给定字符串是否是任何可能的 ipv6 地址的前缀的东西,例如如果输入字符串是 X,那么我想知道是否存在字符串 Y 使得 X+Y = 有效的 ipv6 地址
-
“有效的 IPv6 地址”是什么意思?从一个角度来看,任何 128 位整数都是有效的 IPv6 地址。你的意思是它可以是一个源地址,一个目标地址,它是可转发的,它是全球性的,它是一个多播地址等吗?您必须首先定义有效地址的含义。