Hallo, ich habe folgende Frage: Eine Menge Files, deren Filenamen folgendermaßen aufgebaut sind, möchte ich gern umbenennen und suche dafür die passende RegEx. a03cdefxvdabc.txt Der Teil vor dem Punkt ist beliebig lang. Davon möchte ich die letzten drei Zeichen entfernen (hier "abc", beliebige Zeichen). Die Endung (hier .txt) soll erhalten bleiben. Der Filename soll also dann so aussehen: a03cdefxvd.txt Hab auch schon auf regex101.com experimentiert, habe aber keine Lösung gefunden. Meine Idee: (.+)(...)(.txt) eine beliebige Anzahl Zeichen (mindestens 1) dann drei beliebige Zeichen dann die Endung .txt Wie finde ich die ersten Zeichen (ausser den letzten drei), gefolgt von der Endung? Kann mir jemand einen Hinweis geben? Ist bestimmt einfach, aber ich komm nicht drauf.
(.*)(.{3})\.(.*) Liefert Dir drei Gruppen. Wenn du Gruppen nicht brauchst, entferne einfach die Klammern drumrum.
Soeren K. schrieb: > (.*)(.{3})\.(.*) > > Liefert Dir drei Gruppen. Wenn du Gruppen nicht brauchst, entferne > einfach die Klammern drumrum. Vielen Dank! Ich habe jetzt auch meinen Denkfehler (bzw. mein Unwissen) gefunden. Die Ersetzungszeichenkette muss bei deiner Regex lauten $1\.$3 und in meiner Variante einfach $1$3 Das mit den Gruppen-Nummern wusste ich noch nicht. So ist das eben, wenn man sich das erste Mal damit beschäftigt. Also vielen Dank nochmal, ich habe etwas gelernt :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.