Marcelo, suas expressões regulares estão MUITO erradas.
O que vai entre colchetes é uma lista de caracteres, não um range numérico. Se você coloca [192-255], sua expressao regular vai entender "1 ou 9 ou (de 2 até 2) ou 5 ou 5".
Exemplo:
[0-9] significa 0 a 9
[0-3] significa 0 a 3.
pra fazer 192 a 255, vc teria q fazer +- o seguinte:
(19[2-9]|2[0-4][0-9]|25[0-5])
o | é um OU lógico.
Delimitando entre parenteses, vc está dizendo que quer um daqueles três blocos:
19[2-9] = numero 1 e numero 9 (19) seguido de qualquer numero entre 2 e 9 (192 a 199)
2[0-4][0-9] = numero 2 seguido de qualquer numero de 0 a 4 (vai aceitar 20, 21, 22, 23 e 24) seguido de qualquer numero de 0 a 9 (logo, de 200 a 249)
25[0-5] = caractere 2 e caractere 5 (25) seguido de qualquer numero entre 0 e 5 (250 a 255)
Recomendo que você dê uma estudada melhor em expressões regulares antes de seguir no seu script!