Seite 1 von 1

Hilfe zu RegEx

Verfasst: Mo 3. Mai 2010, 21:30
von owilsky
Hallo,

ich brauche Hilfe zur RegEx-Funktion beim Ausschließen von Dateien und Ordnern.
Vorab: Ich beherrsche reguläre Ausdrücke und bin da kein Anfänger.

ABER:
Immer wenn ich unter RegEx etwas eintrage, wird NICHTS mehr gesichert, es scheint, als wenn alle Dateien übersprungen werden.
Habe ich das richtig verstanden, dass pro Zeile ein Ausdruck eingegeben werden muss?
Ich habe dieses eingetragen:

(?i)\\temp(\\)?
(?i)\\temporary internet files(\\)?

Was mache ich falsch?

Oliver

Re:Hilfe zu RegEx

Verfasst: Di 4. Mai 2010, 19:23
von Alex
Also ich habe gerade mal ausprobiert und hier sichert er genau, wie erwartet.
Habe exakt deine Syntax eingegeben.

Kannst du vielleicht mach in der Ereignisanzeige nachschauen, ob nicht andere Probleme aufgetreten sind.

Re:Hilfe zu RegEx

Verfasst: Mi 5. Mai 2010, 11:36
von dom.bn
Hast du evtl. eine Leerzeile zwischen den RegEx-Ausdrücken? Dann wurden bei mir alle Dateien ignoriert.

Bei dem Temp-Ordner wäre meine Empfehlung das letzte ? wegzulassen, da in diesem Fall alle Ordner ignoriert werden, die mit '\temp' anfangen. Das trifft dann zum Beispiel auch auf '\templates' zu.

Re:Hilfe zu RegEx

Verfasst: Mi 5. Mai 2010, 14:26
von Alex
Gut Leerzeile sollte ich vielleicht auch noch überprüfen. ;D

Re:Hilfe zu RegEx

Verfasst: Mi 5. Mai 2010, 18:57
von dom.bn
Die war bei mir entstanden, da ich zuerst nicht wusste, wie die RegExes getrennt werden sollten, von daher hatte ich so etwas geschrieben:

Code: Alles auswählen

regex1|
regex2|
regex3
Daraus wurde:

Code: Alles auswählen

regex1

regex2

regex3
Mit dem »Erfolg«, dass keine Datei mehr gesichert wurde. Die oben genannten Symptome erinnerten mich jetzt wieder an mein Problem(-chen). Mit einem Blick erneut in den RegEx-Dialog ließ es sich dann schnell lösen.

Re:Hilfe zu RegEx

Verfasst: Do 6. Mai 2010, 22:58
von owilsky
Ich habe keine Leerzeile zwischen den beiden Zeilen, evtl. aber noch ein CR/LF nach der zweiten Zeile, so dass noch eine leere dritte Zeile existieren könnte. Könnte das stören?
Im Eventlog habe ich nur Informations-Einträge, keine Warnungen oder Fehler. Die Informationen besagen, dass ein Backup versucht wird. Im Backup-Browser sehe ich aber seit Tagen keinen neuen Eintrag. Sobald ich alle RegExe gelöscht habe, wird wieder gesichert.

@dom.bn: Das letzte ? bezieht sich auf die Klammer, also auf (\\) und besagt, dass nicht unbedingt ein Backslash folgen muss, also dass das TEMP auch am Ende des Pfades stehen kann, z.B. C:\Windows\Temp

@Alex: Wie könnte ich Dir helfen, das Problem zu finden? Meine Datenbank schicken?

Re:Hilfe zu RegEx

Verfasst: Do 6. Mai 2010, 23:09
von Alex
Das kannst du mal machen. Email ist ja bekannt.

Re:Hilfe zu RegEx

Verfasst: Do 6. Mai 2010, 23:19
von owilsky
OK, ich glaube ich hab's.
Es scheint tatsächlich so, dass ein abschließendes CR/LF nach der zweiten Zeile das Problem ist, d.h. eine leere dritte Zeile in meinen RegExen. Nachdem ich das letzte CR/LF gelöscht habe, geht's!

@Alex: Bug: Leerzeilen ignorieren ;-)

Danke für den Tipp, dom.bn!

Re:Hilfe zu RegEx

Verfasst: Fr 7. Mai 2010, 10:27
von Alex
Ok, dass muss natürlich behoben werden. Danke für den Hinweis.

TrackingItem:BSH-63 - RegEx-Maske ignoriert keine Leerzeilen -> Keine Datei wird gesichert

Re:Hilfe zu RegEx

Verfasst: Fr 7. Mai 2010, 14:23
von dom.bn
Es freut mich, dass ich ein bisschen helfen konnte. :)

[quote="owilsky"]
[…]
@dom.bn: Das letzte ? bezieht sich auf die Klammer, also auf (\\) und besagt, dass nicht unbedingt ein Backslash folgen muss, also dass das TEMP auch am Ende des Pfades stehen kann, z.B. C:\Windows\Temp
[…][/quote]

Das ist mir bekannt. Der Ausdruck matcht allerdings ebenso auf:
C:\Programme\WasAuchImmer\Data\Templates\ …

oder

X:\WasAuchImmer\template.dat

… und schon werden etliche Dateien nicht mehr mitgesichert. Deswegen wäre meine Empfehlung, zur Sicherheit den ?-Quantor an der Stelle nicht zu verwenden.

Re:Hilfe zu RegEx

Verfasst: Fr 7. Mai 2010, 15:03
von owilsky
stimmt, Du hast Recht.

(?i)\\temp\\ schließt aber z.B. C:\Windows\Temp nicht aus, also wenn Temp am Ende steht...

Also wäre evtl. das hier besser:

(?i)\\temp(\\|$)
Dann würde eine Datei namens temp zwar auch nicht mitgesichert, aber das ist vielleicht zu verschmerzen ;-)