Gå til innhold

[Løst] KRename regular expression


DJViking

Anbefalte innlegg

Trenger hjelp til å sette sammen en regular expression til krename find/replace.

 

Trenger å finne alle forekomster i filnavn som begynner med "-" og slutter med "(", og mellom disse kan det være forekomster av bokstaver, tall, punktum, komma og mellomrom av forskjellig antall.

 

Jeg har bøker liggende på PCen med følgende format:

Forlag - Tittel - Forfatter (Årstall).pdf

 

Jeg vil fjerne alt mellom siste - og (, altså alt med " - Forfatter ("

 

Det kan også forekommer "-" inni Tittel.

 

 

Jeg har prøvd mange forskjellige regex uttrykk bare for å teste og nesten ingen som fungerer i KRename. Vanskelig å finne noen gode eksempler som fungerer med KRename.

 

[-] Finner alle forekomster av "-"

[(] Finner alle forekomster av "("

Men hvordan kombinere disse til å gjelde alt innenfor dem.

 

Fant ut at følgende "Word ([\w]+) Text" Fjerner Både Word og Text og alt innimellom, men det virker ikke når jeg bytter ut med "-" og "("

 

 

Det nærmeste jeg kan finne som kan løse mitt problem er det som står beskrevet på

http://www.regular-e....info/near.html

With regular expressions you can describe almost any text pattern, including a pattern that matches two words near each other. This pattern is relatively simple, consisting of three parts: the first word, a certain number of unspecified words, and the second word. An unspecified word can be matched with the shorthand character class \w+. The spaces and other characters between the words can be matched with \W+ (uppercase W this time).

The complete regular expression becomes \bword1\W+(?:\w+\W+){1,6}?word2\b . The quantifier {1,6}? makes the regex require at least one word between "word1" and "word2", and allow at most six words.

Denne skal fjerne både word1 og word2 og alt innimellom. Jeg måtte trikse litt med filnavnene for å få det til å virke.

  • "Forlag - " = "Forlag-"
  • " - " = " word1 "
  • "(" = " word2 "
  • \bword1\W+(?:\w+\W+){1,6}word2\b
  • "( " = "("

 

Edit: Løste problemet før noen kunne få svart. Lar likevel tråden stå for ettertiden dersom noen sliter med det samme.

Endret av DJViking
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...