Regex Ausnahmen/Bedingungen

  • Themenstarter Themenstarter Midnight
  • Beginndatum Beginndatum
M

Midnight

Gast
Hallo,

mache gerade meine ersten Schritte mit Regulären Ausdrücken und komme leider bei meinem Vorhaben nicht weiter. Hier erstmal ein Beispieltext:

"Die Koordinaten lauten 13:214:2, welche am 02.02.2012 um 15:12:21 Uhr ermittelt wurden"

Es geht darum, dass ich Koordinaten erkennen lassen möchte. Diese Koordinaten sind maximal 3 stellig und getrennt mit einem Doppelpunkt. Das funktioniert im moment auch ganz gut mit:

(\d{1,3})🙁\d{1,3})🙁\d{1,3})

Nun habe ich aber das Problem, dass in dem Text, wo diese Koordinaten stehen, auch eine Uhrzeit steht. Dummerweise hat diese auch das gleiche Format (hh:mm:ss) und wird somit auch erkannt. Meine Idee war, die Wörter "um" und "Uhr" die davor und dahinter stehen als Möglichkeit zu nutzen, damit diese von der Erkennung ausgeschlossen werden können. Ist das überhaupt möglich? Hatte bisher keinen Erfolg.

LG
 
Danke für die Hilfe. Damit würde es zumindest für den oben genannten Satz funktionieren.

Leider kann ich nicht sicherstellen, dass der Satz immer so aufgebaut ist. Ich habe mir das Tutorial mal angeschaut, aber ich verstehe das mit dem Lookahead nicht ganz. Also mit "Uhr" funktioniert das ja jetzt gut und das entspricht doch dem Negative Lookbehind? Nun habe ich probiert das mal umzudrehen, also das "um" vor der Uhrzeit als Erkennung zu nehmen, aber das klappt wiederrum nicht.
Code:
(?!um )(\d{1,3}):(\d{1,3}):(\d{1,3})
Er erkennt es trotzdem, obwohl "um" im Text davor steht.
 
Ich muss gerade feststellen, dass Javascript kein Lookbehind unterstützt. Insofern fällt die ganze Sache ins Wasser, es sei denn es gibt eine alternative...
 

Zurück
Oben