查找ipv6地址范围的正则表达式

时间:2013-10-26 18:07:43

标签: regex ip ipv6

我需要使用以下掩码的ipv6地址的正则表达式: 2620:0000:2820 :: / 48

这就是我想要一个可以代表以下地址范围的正则表达式:

2620:0000:2820:0000:0000:0000:0000:0000

TO

2620:0000:2820:ffff:ffff:ffff:ffff:ffff

到目前为止,我可以想出这个:

"^(2620:0000:2820:){1}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}$"

什么是正确的表达?

1 个答案:

答案 0 :(得分:0)

这个正则表达式怎么样: -

'/^(?>(?>([a-f0-9]{1,4})(?>:(?1)){7}|(?!(?:.*[a-f0-9](?>:|$)){8,})((?1)(?>:(?1)){0,6})?::(?2)?)|(?>(?>(?1)(?>:(?1)){5}:|(?!(?:.*[a-f0-9]:){6,})(?3)?::(?>((?1)(?>:(?1)){0,4}):)?)?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?4)){3}))$/iD'

同时检查此reference