Module: Netgrep::Ipv6

Defined in:
lib/netgrep/ip.rb

Constant Summary collapse

REGEX_8HEX =

IPv6 address format a:b:c:d:e:f:g:h

/
  (?:[0-9A-Fa-f]{1,4}:){7}
     [0-9A-Fa-f]{1,4}
/x
REGEX_COMPRESSEDHEX =

Compressed IPv6 address format a::b

/
  (?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)? ::
  (?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?
/x
REGEX_6HEX4DEC =

IPv4 mapped IPv6 address format a:b:c:d:e:f:w.x.y.z

/
  (?:[0-9A-Fa-f]{1,4}:){6,6}
  \d+\.\d+\.\d+\.\d+
/x
REGEX_COMPRESSEDHEX4DEC =

Compressed IPv4 mapped IPv6 address format a::b:w.x.y.z

/
  (?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)? ::
  (?:[0-9A-Fa-f]{1,4}:)*
  \d+\.\d+\.\d+\.\d+
/x
REGEX =

A composite IPv6 address Regexp.

/
  (?:#{REGEX_8HEX}) |
  (?:#{REGEX_COMPRESSEDHEX}) |
  (?:#{REGEX_6HEX4DEC}) |
  (?:#{REGEX_COMPRESSEDHEX4DEC})
/x