\d{1,6}a digit, repeated between 1 and 6 times
\sany whitespace character
Non-Capturing Group(?:[A-Za-z0-9#]+\s){0,7} {0,7}repeats the group contents below between 0 and 7 times:
Character Class[A-Za-z0-9#]+ +matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
0-9one character from 0 (4810) to 9 (5710)
#the literal # (3510 / 438 / 2316)
\sany whitespace character
Non-Capturing Group(?:[A-Za-z0-9#]+,) Character Class[A-Za-z0-9#]+ +matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
0-9one character from 0 (4810) to 9 (5710)
#the literal # (3510 / 438 / 2316)
,the literal , (4410 / 548 / 2C16)
\s*any whitespace character, repeated any number of times
Non-Capturing Group(?:[A-Za-z]+\s){0,3} {0,3}repeats the group contents below between 0 and 3 times:
+matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
\sany whitespace character
Non-Capturing Group(?:[A-Za-z]+,) +matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
,the literal , (4410 / 548 / 2C16)
\s*any whitespace character, repeated any number of times
{2}matches exactly 2 characters from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
\s*any whitespace character, repeated any number of times
\d{5}a digit, repeated exactly 5 times
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