Estrutura básica
Uma expressão simples confirma quatro blocos de um a três dígitos. Ela é ótima para ensino, mas ainda aceita valores fora do intervalo.
Regex: ^(?:\d{1,3}\.){3}\d{1,3}$O problema do intervalo
999.999.999.999 corresponde à estrutura básica, mas não é IPv4 válido. Para validar o intervalo com Regex, o padrão precisa representar 0-255 explicitamente, o que aumenta bastante a complexidade.
Quando usar biblioteca ou parser
Em código de produção, funções de rede da linguagem ou bibliotecas maduras costumam ser mais legíveis do que uma Regex gigantesca para IPv4/IPv6.
Use o requisito certo
Se você está extraindo candidatos de um log, a Regex estrutural pode ser suficiente. Se está validando configuração de rede, faça validação semântica completa.
Próximo passo: teste de verdade
Use o Playground para experimentar a expressão e depois pratique no jogo com feedback de falsos positivos e falsos negativos.