Antwort #372 am: 30. Juni 2022, 14:42:48
Ich verstehe vielleicht nicht.
Die Strasse heißt "50" in deinem Beispiel und die Hausnummer "15C" ?
Wenn ja kann man das nicht abfangen weil eine Nummer nun mal eine Nummer ist. Da Code nicht denken kann wird es kaum eine Möglichkeit geben zu erkennen, daß eine Nummer nun der Strassenname sein soll.
Evtl. geht es mit einem negativen Lookbehind nach dem expliziten String "Str.", hab' aber nicht wirklich eine Lösung.
Das z.B. reicht bei "Str. 50 15c" nicht aus:
"!(?<!str\. )[0-9]{1,5}[\/ \-0-9a-zA-Z,\.]*!im"
(hier mit der i Option für case insensitive)
Weil dann die Nummer so abgespalten würde "0 15C", also lediglich die 5 zum Strassennamen gerechnet würde.
Mittels eines Lookahead nach einem Leerzeichen oder einem Slash zu schauen hülfe nicht, da ein Leerzeichen ja gerade erlaubt sein muß (vorhanden in der zweiten Einklammerung), z.B. für Hausnummer 15 C.
Gruß,
noRiddle