Eine gute Tageszeit,
ich habe folgendes Problem mit RegEx bzw. dem Konzept von Regulären Ausdrücken. Ich habe eine Liste mit Dateinamen und möchte diese in einzelne Bestandteile aufteilen.
Meine Dateien können wie folgt aussehen:
- Dateiname1 (2012) {Info}
- Dateiname2 {Info}
- Dateiname3 (2012)
- Dateiname4
Nun habe ich folgenden Code versucht, der auch wunderbar bei der ersten Variante funktioniert, aber bei allen anderen Varianten scheitert. Das Programm steigt dann einfach aus.
Code
$foundedFileReplaced = "Dateiname1 (2012) {{Info}}";Option 3, global return, old AutoIt style$splitTitle = StringRegExp($foundedFileReplaced, '(.*?).(\(?)(\d\d\d\d)(.*?)', 3)For $i = 0 To UBound($splitTitle) - 1MsgBox(0, "RegExp Test with Option 3 - " & $i, $splitTitle[$i])Next$splitYear = $splitTitle[2]$splitTitle = $splitTitle[0]MsgBox("","Jahr/Titel", "|" & $splitYear & "|" & @CRLF & "|" & $splitTitle & "|")
Meine Frage ist nun, gibt es eine Möglichkeit so einen Filter mit nur einem Ausdruck aufzubauen oder was würdet ihr mir raten?
Es gibt in Autoit wohl kein Try/Catch Konstrukt und deswegen komme ich mit so etwas nicht weiter: