Hallo,
ich habe folgendes Problem:
ich möchte aus einer Zeile, die in etwa so aufgebaut ist:
Folgende Dinge extrahieren:
Name
12.03.2011
14.06.2012
17.07.2012
18.02.2013
Zudem gibt es die Möglichkeit, dass vor dem ersten Datum eines Abschnitts ein EX: stehen kann, aber nicht muss, also bspw:
oder
Wie viele Datumsabschnitte kommen ist immer unterschiedlich, es können genau so gut 10 Zeiträume sein.
Mein bisheriger Ansatz ist folgender:
Allerdings ist das Ergebniss nicht wie erwartet
12.03.2011
14.06.2012
17.07.2012
18.02.2013
sondern lediglich
17.07.2012
18.02.2013
Hat jemand eine Idee wo mein Fehler liegen könnte? Vermutlich ist das ganz einfach aber ich bin noch neu was reguläre Ausdrücke angeht.
Hier ein par "gültige" Zeilen, welche möglich sein müssen:
Anna (14.12.2014 - 13.02.2015)
Bernd (10.03.2011 - 16.04.2011; 14.04.2012 - 18.07.2012)
Chris (24.12.2013)
David (EX: 11.12.2013 - 19.04.2014)
Emil (EX: 16.07.2011)
Frank (EX: 09.12.2014 - 16.04.2015; 13.06.2011 - 18.05.2013)
Gertrut (05.11.2013 - 09.12.2013; EX: 09.12.2013 - 14.05.2015; 14.05.2015 - 20.06.2014)
Hanna (14.12.2011 - 16.01.2012; EX: 16.01.2012)
Igor (10.10.2010 - 11.11.2011; 12.12.2012 - 13.01.2013; 14.02.2013 - 14.02.2014; 15.03.2015 -16.04.2016)
Liebe Grüße
ich habe folgendes Problem:
ich möchte aus einer Zeile, die in etwa so aufgebaut ist:
Code:
Name(12.03.2011 - 14.06.2012; 17.07.2012 - 18.02.2013)
Folgende Dinge extrahieren:
Name
12.03.2011
14.06.2012
17.07.2012
18.02.2013
Zudem gibt es die Möglichkeit, dass vor dem ersten Datum eines Abschnitts ein EX: stehen kann, aber nicht muss, also bspw:
Code:
Name(EX: 12.03.2011 - 14.06.2012; 17.07.2012 - 18.02.2013)
oder
Code:
Name(12.03.2011 - 14.06.2012; EX: 17.07.2012 - 18.02.2013)
Wie viele Datumsabschnitte kommen ist immer unterschiedlich, es können genau so gut 10 Zeiträume sein.
Mein bisheriger Ansatz ist folgender:
Code:
(\w*) \((?:(EX: )?(\d{2}.\d{2}.\d{4}) (?:- (\d{2}.\d{2}.\d{4}))?(?:;\s)?)++\)
Allerdings ist das Ergebniss nicht wie erwartet
12.03.2011
14.06.2012
17.07.2012
18.02.2013
sondern lediglich
17.07.2012
18.02.2013
Hat jemand eine Idee wo mein Fehler liegen könnte? Vermutlich ist das ganz einfach aber ich bin noch neu was reguläre Ausdrücke angeht.
Hier ein par "gültige" Zeilen, welche möglich sein müssen:
Anna (14.12.2014 - 13.02.2015)
Bernd (10.03.2011 - 16.04.2011; 14.04.2012 - 18.07.2012)
Chris (24.12.2013)
David (EX: 11.12.2013 - 19.04.2014)
Emil (EX: 16.07.2011)
Frank (EX: 09.12.2014 - 16.04.2015; 13.06.2011 - 18.05.2013)
Gertrut (05.11.2013 - 09.12.2013; EX: 09.12.2013 - 14.05.2015; 14.05.2015 - 20.06.2014)
Hanna (14.12.2011 - 16.01.2012; EX: 16.01.2012)
Igor (10.10.2010 - 11.11.2011; 12.12.2012 - 13.01.2013; 14.02.2013 - 14.02.2014; 15.03.2015 -16.04.2016)
Liebe Grüße
Kommentar