Avatar billede hobbez Nybegynder
10. juli 2008 - 16:16 Der er 7 kommentarer og
1 løsning

Matche linier der indeholder en string men ikke en anden

Jeg har nogle filer jeg gerne vil have søgt igennem (med UltraEdit, som kan søge via Regular Expressions) efter bestemte linier.

Jeg vil gerne kunne liste alle linier der indeholder en streng men ikke en anden.

Eksempel: Jeg vil gerne kunne finde linierne som indeholder tekststrengen "AndenFunktion" men kun hvis linien IKKE samtidig indeholder tekststrengen "MinFunktion".

Altså vil jeg gerne finde linier som:

(AndenFunktion(X,Y))
(TredjeFunktion(AndenFunktion(X,Y)))
(TredjeFunktion(FjerdeFunktion(AndenFunktion(X,Y))))

Men ikke linier som:

MinFunktion(AndenFunktion(X,Y))
NogetAndetKode(MinFunktion(TredjeFunktion(AndenFunktion(X,Y))))
MinFunktion(TredjeFunktion(FjerdeFunktion(AndenFunktion(X,Y))))

For de indeholder jo tekststrengen "MinFunktion".

Det er nemt for mig at finde linier der indeholder begge dele, men hvordan laver jeg en RegularExpression der lister linier der indeholder den ene tekststreng, men udelukker linier der indeholder den anden?

/Rob
Avatar billede hobbez Nybegynder
10. juli 2008 - 16:24 #1
Jeg bør måske tilføje, at der også kan være linier som:

NogetAndetKode(TredjeFunktion(X,Y))

som naturligvis heller ikke skal findes/listes, for de indeholder jo hverken "MinFunktion" eller "AndenFunktion".
Avatar billede nielle Nybegynder
10. juli 2008 - 17:03 #2
Sådan?

^(?=.*?AndenFunktion)((?!MinFunktion).)*$
Avatar billede hobbez Nybegynder
11. juli 2008 - 09:29 #3
Den finder ikke noget i Ultraedit ?!?
Avatar billede hobbez Nybegynder
11. juli 2008 - 10:12 #4
Måske er det RegExp-'motoren' i UltraEdit der ikke er avanceret nok til at klare det (?)
Avatar billede nielle Nybegynder
11. juli 2008 - 18:47 #5
Ingen anelse ... jeg kender ikke Ultraedit. Det er dog sikkert at der findes forskellige varianter af regexp motore.

Det kan dog også være at du simpelthen skal slå "multiline" til sådan at ^ og $ matcher på linjeskift internt i strenge.
Avatar billede hobbez Nybegynder
19. august 2008 - 11:07 #6
Ingen løsning - jeg lukker her!
Avatar billede nielle Nybegynder
19. august 2008 - 17:11 #7
Foreløbig har du ikke lukket noget som helst. Smid et svar og accepter det så selv.
Avatar billede hobbez Nybegynder
20. november 2009 - 12:17 #8
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester