18. december 2003 - 23:45Der er
20 kommentarer og 1 løsning
Må ikke matche udvalgte ord
Jeg skal have et udtryk, som fortæller at Kasper, Lars, Peter ikke må indgå i strengen. Så Hej jeg er Kasper og spiller bold (er ikke OK) Hej jeg er Uffe og spiller bold (er OK)
jeg har ekspermenteret med ^ men med uheld... Nogle som kan hjælpe?
Det har du helt ret i, lidt sovende indgangsvinkel !-)
function test(value){ if(value.match(/(Kasper)|(Lars)|(Peter)/gi)){ alert(value.match(/(Kasper)|(Lars)|(Peter)/gi)[0] + " må ikke indgå i strengen !-|"); }}
Desværre er der jo nogle forskelle på syntksen for RegExps på tværs af de forskellige sprog, i javascript er // delimiter for en direkte angivet RegExp, mens en ny skal genereres med følgende metode:
var metode = new RegExp("(Kasper)|(Lars)|(Peter)","gi");
-- så // skal nok ikke med i oprettelsen, et gæt kunne være:
Regex metode = new Regex("(Kasper)|(Lars)|(Peter)", RegexOptions.IgnoreCase|RegexOptions.Compiled)|RegexOptions.Global;
Det er fordi jeg synes det er nemmere at programmere, så den reagerer, når de findes ...
-- alternativt kan man selvfølgelig vælge at undlade at reagere, hvis de ikke findes, men programmeringsmæssigt er det bagvendt !-)
-- præcis derfor lagde jeg ud med spørgsmålet, om du skulle vide det, for hvis det har en anden relevans for dig, kan det være, at det er andre veje man skal gå !o]
jeps, jeg er nødt til at kunne skrive ord som IKKE må fremkomme. Det andet vil blive alt alt for besværligt... Mit aktuelle problem er langt længere end ovenstående eksempel :-) Du ved ikke tilfældigvis hvor jeg evt. kan finde løsningen vel?
jo i teorien godt, men jeg skal bruge ca 15 tests, så hvis de alle skal laves a to gange så bliver det noget juks... Og jeg skulle mene at reg.Ex godt kunne klare det i én omgang :-)
Nu har jeg lige læst mig igennem javascript-manualens afsnit om RegExp, og er kommet til den konklusion, at js RegExp-objektet _ikke_ er beregnet til at 'ikke-finde' men alene beregnet til at kunne teste/returnere om bestemte strenge findes, så negative match kun understøttes på tegn-niveau ...
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.