1 2
$string = "Testweg 77-88a"; ($hausnr_von,$hausnr_bis) = $string =~ /(\d+[a-zA-Z]?)(\-\d+[a-zA-Z])/;
1 2 3 4 5 6 7 8 9 10 11 12 13 14
my $regex = qr( (\d+\s*[a-zA-Z]?) # erste Nr. (?: # Trennzeichen verwerfen \s*[-/]\s* (\d+\s*[a-zA-Z]?) # zweite Nr. )? # oder auch nicht )x; my @nr = ("Hauptstr. 77", "Hauptstr. 77-88 a", "Hauptstr. 77 / 79a", "Hauptstr. 77b - 79"); for my $testnr (@nr) { my ($nr1, $nr2) = $testnr =~ /$regex/; printf("%s, %s\n", $nr1, $nr2); }