Group street(?P<street>\d+\s.*?(?:,\s*\w*\s*\d+)*) \d+a Unicode decimal digit, repeated at least once
\sa Unicode whitespace character
.*?any Unicode character (except for line terminators), repeated any number of times
Non-Capturing Group(?:,\s*\w*\s*\d+)* *repeats the group contents below any number of times:
,the literal , (4410 / 548 / 2C16)
\s*a Unicode whitespace character, repeated any number of times
\w*a Unicode word character, repeated any number of times
\s*a Unicode whitespace character, repeated any number of times
\d+a Unicode decimal digit, repeated at least once
,the literal , (4410 / 548 / 2C16)
\s*a Unicode whitespace character, repeated any number of times
.*?any Unicode character (except for line terminators), repeated any number of times
,the literal , (4410 / 548 / 2C16)
\s*a Unicode whitespace character, repeated any number of times
Group state(?P<state>[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)
\s*a Unicode whitespace character, repeated any number of times
?repeats the group contents below at most once:
\d+a Unicode decimal digit, repeated at least once
,*the literal , (4410 / 548 / 2C16) , repeated any number of 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