JavaScript Regulärer Ausdruck

  • Ersteller Ersteller Oxy86
  • Erstellt am Erstellt am
O

Oxy86

Gast
Hallo Zusammen *gg*,

ich habe ein bisschen ein Problem mit den blöden regulären Ausdrücken :(
Ich hoffe ihr könnt mir helfen.

Ich habe folgende Adressen in diesen Mustern vorliegen:


Test-Straße 21, 86112 München

Teststrasse 21
12345 Berlin

Teststr. 22
12345 Mannheim

Teststr. 2 - 12345 Testort

Nymphen Straße 141
12345 Mannheim


Nun kommen diese per String rein und ich kann schon die PLZ und die Straße unterscheiden:
Code:
	var reg_plz_ort = /(\d{5})\s(\S.+)/;
	var PLZ_ORT = reg_plz_ort.exec(selection);

Aber ich hänge bei der Auswahl der Straße und deren Hausnummer. Wie man sieht, muss ich die Straße und die Hausnummer getrennt ausgeben können - wie oben bei der PLZ und Stadt.
Code:
PLZ_ORT[1]
PLZ_ORT[2]

das Problem ist die Straße zu erkennen (STRASSE_NUMMER[1]) und dessen Hausnummer (STRASSE_NUMMER[2]). Man müsste nach diesem Muster suchen können:

Zeichen bis zur ersten aufkommenden Zahl
Minus das Leerzeichen
und dann was davor ist, ist der komplette Straßenname.

Ich hoffe es gibt eine gute Lösung *ggg*

Gruß


P.S.: Das einzige, was ich gefunden habe, ich dieser Ausdruck:
^([A-ZÄÖÜ][a-zäöüß]+(([.] )|( )|([-])))+[1-9][0-9]{0,3}[a-z]?$
Der sollte es sein, aber ich will ja noch unterteilen.
Vor allem, wenn mein String auch noch dahinter die PLZ beinhaltet, findet der Ausdruck nichts.
 
Zuletzt bearbeitet:
Der Reguläre Ausdruck am Ende deines Postings erlaubt ja nur Straßennamen, die maximal 4-stellig sind, was auch sinnvoll ist, da es meines Wissens keine so großen Straßen gibt, die das übersteigen. Wenn danach noch eine Postleitzahl kommt, wird der streiken, da er nach dem Straßennahmen nur noch einen Kleinbuchstaben erlaubt, zb 1234b. Die Postleitzahl passt da aber nicht rein, da sie fünfstellig ist, insofern ist das ja klar.

Du musst halt die Abfrage auf Leerheit machen. Wenn die true ist, weißt du ja, dass das Format vorliegt, wo danach noch die Postleitzahl kommt. Dann musst du eben deine Abfrage darauf einrichten.

Ich kenne leider nur die Theorie der regulären Ausdrücke, daher kann ich dir jetzt nicht besser weiterhelfen. Auch weiß ich nicht, inwiefern man Newline abfragen kann, das ist eventuell stark von der Programmierumgebung abhängig, und in welcher Datenbank deine Strings stehen. In der Regel ist es ja das "\n", welches für manche Fälle deiner Abfragen hilfreich wäre.
 
Zuletzt bearbeitet:
hmm.. ich weiß echt nicht, wie ich das machen kann.
Ich habe schon alles gefiltert nun in diesem String, was ich nicht brauchen kann.
Die hatten Teilweise auch noch ein "-Germany" oder "Deutschland" am Schluss stehen.
Nun ist das auch schonmal weg. Aber das muss doch möglich sein, das zu filtern und alle Bedingungen einzupflegen,.
 
Zurück
Oben