\.the literal . (4610 / 568 / 2E16)
Non-Capturing Group(?:[0-9]|[0-1][0-9]?|20) 0-9one character from 0 (4810) to 9 (5710)
2nd Alternative[0-1][0-9]? 0-1one character from 0 (4810) to 1 (4910)
?matches at most one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
\.the literal . (4610 / 568 / 2E16)
0the literal 0 (4810 / 608 / 3016)
\.the literal . (4610 / 568 / 2E16)
Non-Capturing Group(?:25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[2-9][0-9]|1[1-9]|[1-9]) 0-4one character from 0 (4810) to 4 (5210)
2nd Alternative2[0-4][0-9] 2the literal 2 (5010 / 628 / 3216)
0-4one character from 0 (4810) to 4 (5210)
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 Alternative[2-9][0-9] 2-9one character from 2 (5010) to 9 (5710)
0-9one character from 0 (4810) to 9 (5710)
1the literal 1 (4910 / 618 / 3116)
1-9one character from 1 (4910) to 9 (5710)
1-9one character from 1 (4910) to 9 (5710)
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string