^start of string
Group 1([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5])) 0-9one character from 0 (4810) to 9 (5710)
2nd Alternative[1-9][0-9] 1-9one character from 1 (4910) to 9 (5710)
0-9one character from 0 (4810) to 9 (5710)
3rd Alternative1([0-9][0-9]) 1the literal 1 (4910 / 618 / 3116)
0-9one character from 0 (4810) to 9 (5710)
0-9one character from 0 (4810) to 9 (5710)
4th Alternative2([0-4][0-9]|5[0-5]) 2the literal 2 (5010 / 628 / 3216)
Group 3([0-4][0-9]|5[0-5]) 1st Alternative[0-4][0-9] 0-4one character from 0 (4810) to 4 (5210)
0-9one character from 0 (4810) to 9 (5710)
5the literal 5 (5310 / 658 / 3516)
0-5one character from 0 (4810) to 5 (5310)
\.the literal . (4610 / 568 / 2E16)
Group 4([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5])) 0-9one character from 0 (4810) to 9 (5710)
2nd Alternative[1-9][0-9] 1-9one character from 1 (4910) to 9 (5710)
0-9one character from 0 (4810) to 9 (5710)
3rd Alternative1([0-9][0-9]) 1the literal 1 (4910 / 618 / 3116)
4th Alternative2([0-4][0-9]|5[0-5]) \.the literal . (4610 / 568 / 2E16)
Group 7([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5])) \.the literal . (4610 / 568 / 2E16)
Group 10([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5])) $end of string, or before its final line terminator