Последний [0-9]
член должен быть [1-9]
.
. Кроме того, чтобы требовать точку между цифрами c компонентов адреса, период .
должен быть экранирован: \.
И если вы не собираетесь запрещать 250
как компонент, 25(?!0)
должно быть просто 25
.
Например:
^(?:(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])(\.(?!$)|$)){4}$