^start of string
Group 1(-?(?:[1-9][0-9]*)?[0-9]{4}) -?optionally matches the literal - (4510 / 558 / 2D16)
Non-Capturing Group(?:[1-9][0-9]*)? ?repeats the group contents below at most once:
1-9one character from 1 (4910) to 9 (5710)
*matches any number of characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
{4}matches exactly 4 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
-the literal - (4510 / 558 / 2D16)
1the literal 1 (4910 / 618 / 3116)
0-2one character from 0 (4810) to 2 (5010)
0the literal 0 (4810 / 608 / 3016)
1-9one character from 1 (4910) to 9 (5710)
-the literal - (4510 / 558 / 2D16)
Group 3(3[01]|0[1-9]|[12][0-9]) 3the literal 3 (5110 / 638 / 3316)
0the literal 0 (4810 / 608 / 3016)
1the literal 1 (4910 / 618 / 3116)
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)
Tthe literal T (8410 / 1248 / 5416) (case sensitive)
Group 4(2[0-3]|[01][0-9]) 2the literal 2 (5010 / 628 / 3216)
0-3one character from 0 (4810) to 3 (5110)
0the literal 0 (4810 / 608 / 3016)
1the literal 1 (4910 / 618 / 3116)
0-9one character from 0 (4810) to 9 (5710)
:the literal : (5810 / 728 / 3A16)
:the literal : (5810 / 728 / 3A16)
$end of string