I have a text file that is structured like so:

1:1 abcdefg
1:2 abcdefg
1:3 abcdefg
1:4 abcdefg
1:5 abcdefg

I would like to be able to print out a subset of the file ie: print the line beginning with 1:2 through the line beginning with 1:4

So far, I've started with this;

Code:
lines = File.readlines("file.txt")
This puts each line of the text file into an array, so the lines[] array looks like this:

line[0] is 1:1 abcdefg
line[1] is 1:2 abcdefg
line[2] is 1:3 abcdefg
etc.

If I want to print out the lines that start with 1:2 through 1:4, how should I proceed? Some of the text files won't be "aligned" in that line[0] won't always be 1:1. If a user would like to print the lines containing 3:9 - 3:31, how can I scan each line of the array and pattern match the boundaries (3:9 - 3:31 in this example)?

Thanks in advance for any information that could point me in the right direction.