\ba Unicode word boundary
1-9one character from 1 (4910) to 9 (5710)
\d{0,2}a Unicode decimal digit, repeated between 0 and 2 times
Non-Capturing Group(?:(?<grouping_char>[ ,.])\d{3}(?:(?&grouping_char)\d{3})*)? ?repeats the group contents below at most once:
Group grouping_char(?<grouping_char>[ ,.]) the literal (3210 / 408 / 2016)
,the literal , (4410 / 548 / 2C16)
.the literal . (4610 / 568 / 2E16)
\d{3}a Unicode decimal digit, repeated exactly 3 times
Non-Capturing Group(?:(?&grouping_char)\d{3})* *repeats the group contents below any number of times:
(?&grouping_char)calls group grouping_char as a subroutine
\d{3}a Unicode decimal digit, repeated exactly 3 times
\ba Unicode word boundary
u modifier: unicode. Treats the pattern and subject as UTF-16
g modifier: global. Finds all matches instead of stopping after the first