Это должно быть разделено на три части.
1) 110
2) 100-109.9999999 ...
3) 0-99.9999999 ...
шаблон:
^(?:(?:10[0-9]|[0-9][0-9]?)(?:\.[0-9]+)?|110)$
^
начало строки
(?:
начать группу без захвата
(?:10[0-9]|[0-9][0-9]?)
Захват 100-109 или 00-99
(?:\.[0-9]+)?
Захватывает десятичную точку и цифры после нее 0 или 1 раз
|
или
110
захват 110 буквально
)
конец группы без захвата
$
конец строки
Simples. Вопросы?
edit: в качестве запоздалой мысли, если вы не хотите, чтобы начальные нули (например, 00, 01, 02 и т. Д.), Вы могли бы слегка изменить шаблон на что-то вроде ^(?:(?:10[0-9]|[1-9]?[0-9])(?:\.[0-9]+)?|110)$
с изменением [1-9]?[0-9]
вместо [0-9][0-9]?