Самое простое решение - взять число, преобразовать его в целое число, а затем проверить, что его значение <= 255. Но если вы <em>действительно, действительно захотите сделать регулярное выражение это, тогда это будет работать:
^([0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])$
Редактировать Исправлена причина, по которой он не работал во всех ситуациях. Если честно, вот почему вы должны просто разобрать строку в целое число и проверить, что целочисленное значение равно <= 255. </p>