Avatar billede tknudsen Nybegynder
23. august 2002 - 14:49 Der er 7 kommentarer og
1 løsning

reg exp [*/d+]

Hvordan finder jeg [ og * i en streng via reg exp ?

Jeg har en streng, som kunne se således ud:

[*22]/Hest/[*1]/[*221]

Fra den stren vil jeg gerne hente værdierne 22, 1 og 221 ud.

Jeg har prøvet med:

var re = /[\*\d+]/g;
var result = re.exec(s);

...men der får jeg een * tilbage !?
Avatar billede jakoba Nybegynder
23. august 2002 - 14:53 #1
båd [ og ] og * er specialbogstaver i en regular expression. de skal escapes med \
var re = /\[\*\d+\]/g;
Avatar billede tknudsen Nybegynder
23. august 2002 - 14:54 #2
var re = /\[\*\d+\]/g;
var result = re.exec(s);
alert(result.length);

retunerer 1 - hvordan får jeg fat i allesammen ?
Avatar billede jakoba Nybegynder
23. august 2002 - 15:00 #3
eksempel:

var re = /\[\*(\d+)\]/g;
re.exec( "[*22]/Hest/[*1]/[*221]" );
alert( RegExp.$1 +" 22, " +RegExp.$2 + " 1, " +RegExp.$3 +" 221" );

det skulle gerne give "22 22, 1 1, 221 221"

mvh JakobA
Avatar billede tknudsen Nybegynder
23. august 2002 - 15:06 #4
ingen af de RegExp.$n returnerer noget (tom streng ?) - er det en statisk klasse den RegExp (ligesom Math) ?
Avatar billede jakoba Nybegynder
23. august 2002 - 15:07 #5
eller med dit array:

var re = /\[\*(\d+)\]/g;
var result = re.exec( "[*22]/Hest/[*1]/[*221]" );
alert( result[0] +" 22, " +result[1] + " 1, " +result[2] +" 221" );
Avatar billede jakoba Nybegynder
23. august 2002 - 15:12 #6
ja, RegExp er en statisk klasse, og den burde søreme huske de matches den finder (indtil næste gang du bruger exec og overskriver).

hvis der kommer tomme strenge vil jeg gætte på det er mit forslag til regular expression der er galt, så den slet ikke finder noget.

test evt med:

var re = /for(\d+)bag/g;
var result = re.exec( "for22bag/Hest/for1bag/for221bag" );
alert( RegExp.$1 +" 22, " +RegExp.$2 + " 1, " +RegExp.$3 +" 221" );
alert( result[0] +" 22, " +result[1] + " 1, " +result[2] +" 221" );
Avatar billede jakoba Nybegynder
23. august 2002 - 15:34 #7
Det ser ikke for godt ud det her, jeg kan kun finde den første (i RegExp.$1 og i result[1]) så der er noget jeg helt har misforstået.
Avatar billede tknudsen Nybegynder
23. januar 2005 - 11:28 #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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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