Я пытаюсь разделить голландский адрес, но я как бы застрял.Regex, чтобы разделить голландский адрес
Проблема в том, что на улицах Нидерландов могут быть номера в них.
$input_string = "name3 street 24a";
$address = "";
$number = "";
$addition = "";
$matches = array();
if(preg_match('/(?P<address>[^\d]+) (?P<number>\d+.?)/', $input_string, $matches)){
$address = $matches['address'];
$number = $matches['number'];
if (preg_match('/(?P<nr>[^\d]+) (?P<addition>\d+.?)/', $number, $matches)) {
$number = $matches['nr'];
$addition = $matches['addition'];
}
} else { // no number found, it is only address
$address = $input_string;
}
echo $address . "\n";
echo $number. "\n";
echo $addition. "\n";
Это wil игнорирует «имя3».
Наверное, я пытаюсь снять последние цифры и дополнительную букву. Может ли кто-нибудь помочь мне исправить это?
Пример входа:
name3 улица 22а
улица 3
улица 3а
др. улица 24а
Вы имеете в виду просто найти последнее вхождение и заменить ничего [как это] (https://regex101.com/r/jM2cA3/2)? –