3v4l.org

run code in 300+ PHP versions simultaneously
<?php $re = '~^(?<address>(?<streetname>.*?)(?<housenumber>\d+\h*[A-Za-z]?))(?:\/(?<stairs>\d+)(?=(?:\/\d+){1,2}))?(?:\/(?<floor>\d+)(?=(?:\/\d+)))?(?:\/(?<door>\d+))?$~m'; $strings = [ "Lilienstr. 12a", "Leibnizstraße 36/28/2", "Prager Straße 14/3/1/4", "Guentherstr. 43 B", "Eberhard-Leibnitz Str. 1/7", "Schießstätte 7/7" ]; foreach ($strings as $string) { preg_match_all($re, $string, $matches, PREG_SET_ORDER); $address = array_filter($matches[0], "is_string", ARRAY_FILTER_USE_KEY); print_r($address); }

preferences:
110.9 ms | 406 KiB | 5 Q