Comment: ########################################################################
Comment: Option A: [<Addition to address 1>] <House number> <Street name> #
Comment: [<Addition to address 2>] #
Comment: ########################################################################
Non-Capturing Group(?:(?P<A_Addition_to_address_1>.*?),\s*)? ?repeats the group contents below at most once:
Group A_Addition_to_address_1(?P<A_Addition_to_address_1>.*?) .*?any character (except for line terminators), repeated any number of times
,the literal , (4410 / 548 / 2C16)
\s*any whitespace character, repeated any number of times
Comment: Addition to address 1
Non-Capturing Group(?:No\.\s*)? ?repeats the group contents below at most once:
Nothe literal text No (case sensitive) \.the literal . (4610 / 568 / 2E16)
\s*any whitespace character, repeated any number of times
Group A_House_number_1(?P<A_House_number_1>\pN+[a-zA-Z]?(?:\s*[-\/\pP]\s*\pN+[a-zA-Z]?)*) \pN+a decimal digit, letterlike number, or other numeric character, repeated at least once
?matches at most one character from the set below:
a-zone character from a (9710) to z (12210) (case sensitive)
A-Zone character from A (6510) to Z (9010) (case sensitive)
Non-Capturing Group(?:\s*[-\/\pP]\s*\pN+[a-zA-Z]?)* *repeats the group contents below any number of times:
\s*any whitespace character, repeated any number of times
-the literal - (4510 / 558 / 2D16)
\/the literal / (4710 / 578 / 2F16)
\pPa punctuation character
\s*any whitespace character, repeated any number of times
\pN+a decimal digit, letterlike number, or other numeric character, repeated at least once
?matches at most one character from the set below:
a-zone character from a (9710) to z (12210) (case sensitive)
A-Zone character from A (6510) to Z (9010) (case sensitive)
Comment: Street name
\s*any whitespace character, repeated any number of times
,?optionally matches the literal , (4410 / 548 / 2C16)
\s*any whitespace character, repeated any number of times
Group A_Street_name_1(?P<A_Street_name_1>(?:[a-zA-Z]\s*|\pN\pL{2,}\s\pL)\S[^,#]*?(?<!\s)) Non-Capturing Group(?:[a-zA-Z]\s*|\pN\pL{2,}\s\pL) 1st Alternative[a-zA-Z]\s* a-zone character from a (9710) to z (12210) (case sensitive)
A-Zone character from A (6510) to Z (9010) (case sensitive)
\s*any whitespace character, repeated any number of times
2nd Alternative\pN\pL{2,}\s\pL \pNa decimal digit, letterlike number, or other numeric character
\pL{2,}any Unicode letter, repeated at least 2 times
\sany whitespace character
\pLany Unicode letter
\Sany non-whitespace character
Negated Character Class[^,#]*? *?matches any number of characters outside the set below:
,the literal , (4410 / 548 / 2C16)
#the literal # (3510 / 438 / 2316)
Negative Lookbehind(?<!\s) \sany whitespace character
Comment: House number
\s*any whitespace character, repeated any number of times
Non-Capturing Group(?:(?:[,\/]|(?=\#))\s*(?!\s*No\.)
(?P<A_Addition_to_address_2>(?!\s).*?))? ?repeats the group contents below at most once:
Non-Capturing Group(?:[,\/]|(?=\#)) ,the literal , (4410 / 548 / 2C16)
\/the literal / (4710 / 578 / 2F16)
\#the literal # (3510 / 438 / 2316)
\s*any whitespace character, repeated any number of times
Negative Lookahead(?!\s*No\.) \s*any whitespace character, repeated any number of times
Nothe literal text No (case sensitive) \.the literal . (4610 / 568 / 2E16)
Group A_Addition_to_address_2(?P<A_Addition_to_address_2>(?!\s).*?) .*?any character (except for line terminators), repeated any number of times
Comment: Addition to address 2