Hallo liebe AutoIt Community. Ich wollte mich auch mal in das Thema reguläre Ausdrücke einarbeiten. Nachdem ich ein sehr gutes (so war meine Empfindung) Tutorial durchgearbeitet habe, wollte ich mal etwas "Praxiserfahrung" sammeln. Ich wollte mir also einen RegExp erstellen, der verschiedene Daten in unterschiedlichen Formaten erfassen soll. Meine Liste iste von Daten ist die folgende:
ZitatAlles anzeigen34.05.09
19.14.1887
16.04.1990
01.01.1900
7.5.08
1.10.1900
31.5.08
40.13.09Die Rot makierten sind die, welche gefunden werden sollen.
Ich habe mir dann diesen RegExp gebastelt.
Zitat((([0-2][1-9])|(3[0-1]))|(\b[1-9]))\.(((0[1-9])|(1[0-2]))|([1-9]))\.((\d{4}\b)|(\d{2}\b))
Laut meinem RegExBuddy sowie dem Online-RegEx-Tester werden auch nur die richtigen Daten gefunden, aber sobald ich versuche mir die Treffer in AutoIt anzuzeigen, lauf ich vor ne Wand.
Hier das Script, mit dem ich es probiert habe.
[autoit]#include <Array.au3>
$String = "34.05.2009"&@CRLF&"19.14.1887"&@CRLF&"16.04.1990"&@CRLF&"01.01.1900"&@CRLF&"7.5.08"&@CRLF&"1.10.1900"&@CRLF&"31.5.08"&@CRLF&"40.13.09"&@CRLF
$Matches = StringRegExp($String,"((([0-2][1-9])|(3[0-1]))|(\b[1-9]))\.(((0[1-9])|(1[0-2]))|([1-9]))\.((\d{4}\b)|(\d{2}\b))",1)
_ArrayDisplay($Matches)
Ihr seht ja selbst was dabei rauskommt - Jedenfalls nicht das, was ich raushaben möchte.
Könnt ihr mir sagen was ich falsch mache?