Assuming your numbers are always positive integers with no unit, unary plus signs or other decorations.
Regular expressions aren't great for comparing numbers, but if you see your input data as two
:-separated columns, it would be easier to handle it with
awk -F ':' '$2 >= 100 && $2 <= 199' <file
This would compare the second
:-separated field in the data to 100 and 199 and print the complete line if the number is within the given range.
It's also doable with
grep, but not as flexible:
grep ':1[0-9][0-9]$' <file
[0-9] matches a single character between
$ anchors the expression to the end of the line.
If you wanted to match lines with the numbers 100 to 250, you would just change
199 in the
awk code to
250, but with a regular expression you would have to come up with
grep -E ':(1[0-9][0-9]|2[0-4][0-9]|250)$' <file
Here, the three parts of the parenthesis matches numbers from 100 to 199, then from 200 to 249, and lastly 250. (I say "numbers", but regular expressions always operate on strings).