Wubbable Skrevet 5. august 2008 Del Skrevet 5. august 2008 ["]?https?[a-z0-9:#@%/;$()~_!?\+\-=\\\.\&]* Oppfor er regex-koden jeg bruker for å matche URLer... (kun http og https) Jeg bruker den i et opera userscript, og opera har tydeligvis et problem med \&, fordi den også matcher tegnet "<", noe jeg ikke vil at den skal... Noen ide hvorfor dette skjer? Lenke til kommentar
grimjoey Skrevet 5. august 2008 Del Skrevet 5. august 2008 har du prøvd & uten å escape den. (den har kanskje ingen spesiell betydning inne i en character class og trenger kanskje ikke bli escapet. kanskje den har spesiell betydning når den er escapet) testet forresten regex koden din i regextrainer.net med opera. den matcha ikke < så vidt jeg kunne se. kanskje det er spesiellt tilfelle med userscript Lenke til kommentar
Wubbable Skrevet 5. august 2008 Forfatter Del Skrevet 5. august 2008 Fant det ut: ["]?https?[A-z0-9\Q:#@%/;$()~_!?+-\.&\E=]* Det var = tegnet som var merkelig nå, siden den hadde en spesiell funksjon selv om den var mellom \Q og \E (alt mellom skal miste sin spesielle funksjon)... Å sette det på slutten, uten å escape merkelig nok, funket Lenke til kommentar
grimjoey Skrevet 6. august 2008 Del Skrevet 6. august 2008 husk at javascript regexp ikke er den samme som perl regex. det er forskjellige regler. js sin versjon støtter blandt annet ikke lookahead assertions. så bare pass på hvilken manual du leser når du skal bruke regex. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå