Reg ex för att döpa om filer

Trädvy Permalänk
Rekordmedlem
Plats
Salstad
Registrerad
Feb 2009

Reg ex för att döpa om filer

Jag har försökt komma på rätt reg ex uttryck som hjälper mig att autodöpaom filer i en mapp med nån typ av script men fastnat i mitt tänkande och läsande av reg ex guider.

Filnamnet har formatet
7 siffror, _text av olika längd och utseende, _3 siffror.
Det kan tex se ut likt detta >
2017012_nu larmar jag_456
2017012_hjälp-mig-fungera-NYSS_456
2017012_hjälp-mig-fungera-NYSS men 65-77 inte just4546 nu _456
Jag vill filtrera ut textmassan i mitten för att kunna döpa om filerna så det blir typ 2017012_456 och trodde att det skulle vara enkelt att invertera funktionen av att filtrera ut siffrorna i början och slutet men så enkelt var det inte.
([0-9]{7}_) (_[0-9]{3}) ger var för sig träff på talen i början och slutet men hur gör man en "inversfunktion" så jag får träff på texten mellan siffergrupperna ?

Ryzen 5 2400G, Asus ROG STRIX B350-F Gaming, 500GB Samsung 970EVO NVMe M.2 och en väldig massa masslagring. Seasonic Focus+ Gold 650W, Antec P 180 med Schyte o Sharkoon fläktar via en t-balancer, Tittar på en Acer ET430Kbmiippx 43" 4K
Främre ljudkanalerna återges via Behringer DCX2496, högtalare Truth B3031A, Truth B2092A Har också Oscilloskop, mätmikrofon och en Colorimeter.

Trädvy Permalänk
Medlem
Registrerad
Feb 2016

Du lägger väl till ([a-zA-Z]+) mellan de två parenteserna du har ovan. Detta plockar du sen ut med \\2 i ersättningsmönstret så att säga.
Viss reservation för att jag bara skriver på telefonen nu och skriver ur minnet...

Skickades från m.sweclockers.com

Edit ([a-zA-ZåäöÅÄÖ]+) bör det va

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Feb 2005

I perl räcker något som

^\d+_(.*)_\d+$

edit:

läste fel

^(\d+)_.*(_\d+)$

för att få siffror i början _ siffrorna i slutet.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Feb 2005
Skrivet av Napoleongl:

Du lägger väl till ([a-zA-Z]+) mellan de två parenteserna du har ovan. Detta plockar du sen ut med \\2 i ersättningsmönstret så att säga.
Viss reservation för att jag bara skriver på telefonen nu och skriver ur minnet...

Skickades från m.sweclockers.com

Edit ([a-zA-ZåäöÅÄÖ]+) bör det va

sista exemplet har siffror i mittendelen

Trädvy Permalänk
Medlem
Plats
SweClockers forum
Registrerad
Aug 2012

Du har ju väldefinierade delimiters (_), så en capture group för allt mellan dessa borde väl räcka?

/_(.*)_/

https://regex101.com/r/hakkMX/1/

Guide: Roota din HTC - BB-Kod-knappar på Prisjakt

              Min burk - Kvävekyld till 80%
8700K@stock
1070 Ti@stock

Ibland har jag fel, men då är det någon annans fel.

Trädvy Permalänk
Rekordmedlem
Plats
Salstad
Registrerad
Feb 2009
Skrivet av LemonIllusion:

Du har ju väldefinierade delimiters (_), så en capture group för allt mellan dessa borde väl räcka?

/_(.*)_/

https://regex101.com/r/hakkMX/1/

Tach. Den var enklast att använda och verkade fungera även om det finns _ i namnet mellan siffrorna, Jag behövde bara lägga till ett _ själv för att separera siffergrupperna.
Jag ska testa vidare så att jag är övertygad om att allt funkar så jag inte skapar kaos bland filerna.

Ryzen 5 2400G, Asus ROG STRIX B350-F Gaming, 500GB Samsung 970EVO NVMe M.2 och en väldig massa masslagring. Seasonic Focus+ Gold 650W, Antec P 180 med Schyte o Sharkoon fläktar via en t-balancer, Tittar på en Acer ET430Kbmiippx 43" 4K
Främre ljudkanalerna återges via Behringer DCX2496, högtalare Truth B3031A, Truth B2092A Har också Oscilloskop, mätmikrofon och en Colorimeter.