\ba Unicode word boundary
zipthe literal text zip (case sensitive) \ba Unicode word boundary
\D*any character that is not a Unicode decimal digit, repeated any number of times
Group 1(\d{5}(?:\s+\d{5})*) \d{5}a Unicode decimal digit, repeated exactly 5 times
Non-Capturing Group(?:\s+\d{5})* *repeats the group contents below any number of times:
\s+a Unicode whitespace character, repeated at least once
\d{5}a Unicode decimal digit, repeated exactly 5 times
\ba Unicode word boundary
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