1

次のマスクを使用した ipv6 アドレスの正規表現が必要です: 2620:0000:2820::/48

つまり、次の範囲のアドレスを表すことができる正規表現が必要です。

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

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}$"

正しい表現は?

4

1 に答える 1

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'

このリファレンスも確認してください。

于 2013-10-26T18:09:32.047 に答える