Regulärer Ausdruck unvollständig.
Mario
- javascript
Hallo Forum.
Folgende Sachlage: Eine Eingabezeile für eine Adresse wird ausgewertet und in zwei Teilstrings zerlegt: Straßenteil und Nummernteil. Das geht recht fix über
/(\D+)\s(\d+\b$)/
Der nun in $1 abgelegte Straßenteil soll nochmals überprüft werden und zwar darauf, ob folgende (ungültige) Zeichen enthalten sind:
/ + * ? ^ $ | \ ( ) [ ] { } @ µ
Dafür hab ich folgendes:
/([/+\*?^$|\()[]{}@µ])/
Den Ausdruck werde ich später der Einfachheit halber als [FZ] (fehlerhafte Zeichen) bezeichnen.
Funktioniert auch soweit. Nur soll es nicht nur bei einer Erkennung bleiben, sondern es soll auch ausgegeben werden, im welchem Bereich der Fehler passiert.
Beispiel:
Meine Idee war:
/([FZ]+.*[FZ]*.*)/
1, 3 & 6 funktionieren so wie geplant. Bei den anderen passiert folgendes:
Zerbreche mir schon seit mehreren Stunden den Kopf darüber, finde aber keine Lösung. Hoffe das mir jmd. einen Vorschlag machen kann.
Gruß,
Mario
Hi Mario,
/ + * ? ^ $ | \ ( ) [ ] { } @ µ
Was darf ein Straßennamen denn überhaupt für Zeichen enthalten? Doch eigentlich nur Buchstaben, einen Bindestrich und evntl. einen Punkt (wegen Abkürzung).
Warum prüfst du dann nicht, ob _nur_ solche Zeichen enthalten sind:
[1]+$
Wäre das nicht einfacher und auch zuverlässiger?
MfG, Dennis.
a-zA-ZäöüÄÖÜ-. ↩︎
Hallo Dennis!
[1]+$
Besser:
[2]+$
Sonst kommt die Stra_ß_e nicht mehr zur Geltung ... ;-)
℆, ℒacℎgas
Hi Lachgas,
Sonst kommt die Stra_ß_e nicht mehr zur Geltung ... ;-)
Hehe, die Hauptsache habe ich vergessen :-)
MfG, Dennis.
Hi,
Folgende Sachlage: Eine Eingabezeile für eine Adresse wird ausgewertet und in zwei Teilstrings zerlegt: Straßenteil und Nummernteil. Das geht recht fix über
/(\D+)\s(\d+\b$)/
Was ist mit Hausnummern wie 14a oder (auch schon gesehen) 12 1/3 ?
Oder Straßennamen wie L10, S5, T7 (wie sie in Mannheim existieren) oder Straße des 17. Juni (z.B. in Dresden)?
Oder gar ausländischen Adressen, bei denen oft die Hausnummer vor dem Straßennamen steht wie z.B. 10 Downing Street, 1601 Pennsylvania Avenue?
Der nun in $1 abgelegte Straßenteil
Optimist. Siehe oben.
cu,
Andreas