\d{4}a digit, repeated exactly 4 times
\/the literal / (4710 / 578 / 2F16)
Group 2((0[1-9])|(1[0-2])) 0the literal 0 (4810 / 608 / 3016)
1-9one character from 1 (4910) to 9 (5710)
1the literal 1 (4910 / 618 / 3116)
0-2one character from 0 (4810) to 2 (5010)
\/the literal / (4710 / 578 / 2F16)
Group 5(0[1-9]|[12][0-9]|3[01]) 0the literal 0 (4810 / 608 / 3016)
1-9one character from 1 (4910) to 9 (5710)
1the literal 1 (4910 / 618 / 3116)
2the literal 2 (5010 / 628 / 3216)
0-9one character from 0 (4810) to 9 (5710)
3the literal 3 (5110 / 638 / 3316)
0the literal 0 (4810 / 608 / 3016)
1the literal 1 (4910 / 618 / 3116)
\ the literal (3210 / 408 / 2016)
Non-Capturing Group(?:[0-1]?[0-9]|[2][1-4]) 1st Alternative[0-1]?[0-9] ?matches at most one character from the set below:
0-1one character from 0 (4810) to 1 (4910)
0-9one character from 0 (4810) to 9 (5710)
2the literal 2 (5010 / 628 / 3216)
1-4one character from 1 (4910) to 4 (5210)
:the literal : (5810 / 728 / 3A16)
?matches at most one character from the set below:
0-5one character from 0 (4810) to 5 (5310)
0-9one character from 0 (4810) to 9 (5710)
:the literal : (5810 / 728 / 3A16)
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