Avatar billede Slettet bruger
17. juni 2004 - 12:22 Der er 7 kommentarer og
1 løsning

find alle comments block

hey..

jeg er ved at lave noget color til kode..
og nu skal jeg finde frem til comments bloks /* */
Så jeg skal have alt mellem /* til */, nogen som kan hjælpe med det?

/testkanin
Avatar billede roenving Novice
17. juni 2004 - 12:27 #1
Hvilket sprog arbejder du i ?-)

f.eks. i java script:

var txt = "din tekstblok /*med comments*/"
reg = /\/\*(.*)\*\//gm;
txt = txt.match(reg);
for(i=0;txt.length>i;i++)txt[i] = txt[i].replace(reg, "$1");
alert(txt)
Avatar billede Slettet bruger
17. juni 2004 - 13:06 #2
hey.. jeg arbejder i VBScript, og har lige testet din regex, og den virker ikke rigtigt.. hvorfor er der også //gm til sidst?

/testk
Avatar billede roenving Novice
17. juni 2004 - 13:17 #3
Det er måden at sætte global og multiline i javascript !-)

dim reg as RegExp
reg = New RegExp
reg.pattern = "\/\*(.*)\*\/"
reg.multiLine = true
reg.global = true
Avatar billede Slettet bruger
17. juni 2004 - 14:21 #4
den virker fint med en kommentar blok, men hvis jeg f.eks. men hvis jeg har mere end en går det galt, prøv med dette:
-------------------
Hej med
/*
dig hvordan går det
*/
test
endnu en tester..
/* igen bla bla bla
heyyy
test
*/
------------------
i overstående burde den finde to matches, men den finder kun en som er fra den første /* til den sidste */, og det er jo ikke meningen, har du nogen ide til hvordan jeg undgår dette?
Avatar billede roenving Novice
17. juni 2004 - 15:04 #5
Jeg kender ikke vbscripts måde at håndtere det, så der må lige komme en forbi, som kender det !-)
Avatar billede chrisp Nybegynder
04. juli 2004 - 12:37 #6
Følgende skulle løse dit problem:

reg.pattern = "\/\*((\*[^/]|[^*])*)\*\/"

grunden til at reg.pattern = "\/\*(.*)\*\/" kun finder et match er at regexp aldtid prøver at finde det længt mulige match, som for "\/\*(.*)\*\/" vil være fra det første /*  til det sidste */ i strengen...

jeg har skiftede (.*) ud med ((\*[^/]|[^*])*) som betyder at tegnsekvensen */ ikke må findes i inden i en kommentar.
Avatar billede Slettet bruger
19. juli 2005 - 22:41 #7
lukker spørgsmålet
Avatar billede roenving Novice
20. juli 2005 - 10:23 #8
Tak for hjælpen ,-(
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
Kategori
Kurser inden for grundlæggende programmering

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