Avatar billede terpz Nybegynder
20. marts 2006 - 20:39 Der er 4 kommentarer og
1 løsning

TCL: hjælp til regexp

Hejsa

jeg har lidt problemer med et script jeg er ved at lave
men, her goes:

jeg har en html tekst
i den html tekst er der imellem en masse anden tekst ca 10 af: "<a href='html/for_messageDetail.asp?MSG_ID=93508' class='dnav'>TEXT</a>"

det jeg så gerne vil, er at få "93508" i en variabel og TEXT i en variable..

har leget med regexp:
regexp -nocase -all -- {href=\'html\/for_messageDetail.asp?MSG_ID=(.*)\' class=\'dnav\'>(.*)<\/a>} $data trash textvar

og

regexp -- {<a href='html/for_messageDetail.asp?MSG_ID=\S+' class='dnav'>(.*?)</a>} $html_code trash textvar

men ingenting virker.. nogen forslag?

mvh Martin Terp Jensen
Avatar billede pidgeot Nybegynder
20. marts 2006 - 20:45 #1
Prøv dette som dit regex, og se om det hjælper:

href=\'html\/for_messageDetail.asp?MSG_ID=(\d+)\' class=\'dnav\'>([^<]*)<\/a>

Ellers må du forklare på hvilken måde det er at "ingenting virker".
Avatar billede terpz Nybegynder
20. marts 2006 - 20:49 #2
jeg for bare ingen output på den cmd
Avatar billede pidgeot Nybegynder
20. marts 2006 - 20:55 #3
Det må skulle være sådan her:

regexp "<a href='html/for_messageDetail.asp?MSG_ID=\S+' class='dnav'>([^<]*)</a>" $html_code trash idvar textvar

Men er du sikker på den streng du modtager rent faktisk bruger ', og ikke det mere normale "? For ellers er det jo derfor det går galt.
Avatar billede terpz Nybegynder
20. marts 2006 - 21:02 #4
den bruger '

fik: Tcl error: invalid command name "^<"
så brugte:

regexp "<a href='html/for_messageDetail.asp?MSG_ID=\S+' class='dnav'>(\[^<\]*)</a>" $html_code trash idvar textvar

men stadig ingen output :(
Avatar billede terpz Nybegynder
09. juni 2006 - 02:18 #5
f
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
Computerworld tilbyder specialiserede kurser i database-management

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