Group 1(0[1-9]|[1-2][0-9]|3[0-1]) 0the literal 0 (4810 / 608 / 3016)
1-9one character from 1 (4910) to 9 (5710)
2nd Alternative[1-2][0-9] 1-2one character from 1 (4910) to 2 (5010)
0-9one character from 0 (4810) to 9 (5710)
3the literal 3 (5110 / 638 / 3316)
0-1one character from 0 (4810) to 1 (4910)
.any character (except for line terminators)
0the literal 0 (4810 / 608 / 3016)
1-9one character from 1 (4910) to 9 (5710)
1the literal 1 (4910 / 618 / 3116)
1-2one character from 1 (4910) to 2 (5010)
.any character (except for line terminators)
\d{4}a digit, repeated exactly 4 times
\sany whitespace character
Group 3([0-1][0-9]|2[0-3]) 1st Alternative[0-1][0-9] 0-1one character from 0 (4810) to 1 (4910)
0-9one character from 0 (4810) to 9 (5710)
2the literal 2 (5010 / 628 / 3216)
0-3one character from 0 (4810) to 3 (5110)
.any character (except for line terminators)
0-5one character from 0 (4810) to 5 (5310)
0-9one character from 0 (4810) to 9 (5710)
g modifier: global. Finds all matches instead of stopping after the first
i modifier: insensitive. Matches without distinguishing uppercase and lowercase letters