Я знаю об опасности полагаться на регулярные выражения для адресов улиц.Тем не менее, я должен использовать регулярные выражения, и все мои адреса являются австралийскими и хорошо отформатированы из одного регулируемого источника.
Я успешно использую группы для возврата номера улицы и названия улицы из следующего
1 Main Street, Sydney NSW 2000
1A Main Street, Sydney NSW 2000
1/20 Main Street, Sydney NSW 2000
1/20A Main Street, Sydney NSW 2000
U1/20A Main Street, Sydney NSW 2000
Мое (PHP) выражение - ~([\w\d\-\/\.\&]*)\s*([\w\d '\-\.\ ()]+)~
Но у меня возникли проблемы с адаптацией этого для работы с:
Unit 1/20 Main Street, Sydney NSW 2000
Мои группы дают мне 'Unit' и '1'
Скрипка здесь: https://regex101.com/r/aLRNgp/1