@ unsliced, что правильно, но, конечно, это будет зависеть от реализации. Если вы анализируете IP-адрес пользователя, посещающего ваш сайт, тогда вы можете использовать регулярное выражение, поскольку оно ДОЛЖНО быть в формате x.x.x.x.
Для IPv6 вы можете использовать это
[A-F0-9]{0,4}:[A-F0-9]{0,4}:[A-F0-9]{0,4}:[A-F0-9]{0,4}:[A-F0-9]{0,4}:[A-F0-9]{0,4}:[A-F0-9]{0,4}:[A-F0-9]{0,4}
однако он не может поймать все, потому что с IPv6 это намного сложнее, согласно википедии, все следующие примеры являются технически правильными, однако приведенное выше регулярное выражение будет ловить только те с *
2001:0db8:0000:0000:0000:0000:1428:57ab*
2001:0db8:0000:0000:0000::1428:57ab*
2001:0db8:0:0:0:0:1428:57ab*
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab