Я объясняю свою проблему: я работаю на различного рода адресRegex PHP, найти символы в конкретной позиции
" 25 Down Street 15000 London "
" 25 B Down Street 15000 London "
" Building A 25 Down Street 15000 London "
Я нашел способ, чтобы определить, какой это номер улицы по всему корпусу с этим регулярное выражение:
`^([1-9][0-9]{0,2}(?:\s*[A-Z])?)\b`
Но теперь я получил проблему, которую я не могу решить, что мне нужно, когда дело реально определить символы, которые перед номером на улице в.
Пример: «Building 2 25 вниз Street 15000 Лондон» я здесь нужно найти только «дом 2»
Я понимаю, что я должен найти символы перед первым номером этой строки.
Продолжайте поиск самостоятельно, но будет здорово, если кто-нибудь получит решение для меня.
спасибо.
Редактировать мой код теперь:
preg_match('/^(.*?)\d+\s+\D+/', $cleanAdressNode, $result, PREG_OFFSET_CAPTURE,0);
print $result[0][0];
return $result[0][0];
и результат сейчас: Résidence Les Терм 1 15 Boulevard Jean Жорес вместо только: Résidence Les Терм 1
Соответствующие адреса с использованием регулярных выражений почти невозможны ... для определения того, что означает каждый токен в строке, потребуется целенаправленная система. –