Avatar billede dr.truti Nybegynder
19. februar 2008 - 09:43 Der er 9 kommentarer og
1 løsning

Fejl ved markering

Jeg ønsker at trække data mellem tagsne ud af følgende string:

<br>294,00<br>DBL<br>i<br>LBI<br>i<br>84<br>12:49:14<br>3501<br><a href="#" OnMouseOver="popupbox('Ukendt','#FFFFCC')"; OnMouseOut="kill()">64<br><br />

Jeg har lavet mig en reg.exp der ser således ud:

[^>]+(<)

Problemet er at ved hver datastykke kommer det efterfølgende < med fx 294,00< og DBL<

Hvordan kan jeg undgå dette?
Avatar billede roenving Novice
19. februar 2008 - 12:35 #1
Hvad med at sætte parantesen om det, du vil bruge:

([^>]+)<
Avatar billede nielle Nybegynder
19. februar 2008 - 12:35 #2
Sådan?

[^<>]+
Avatar billede dr.truti Nybegynder
19. februar 2008 - 13:28 #3
roenving: det giver nøjagtigt samme som mit.

nielle: dit retunerer lidt for meget ;-) http://artistico.dk/rod/exp/nielle.JPG
Avatar billede roenving Novice
19. februar 2008 - 13:35 #4
Hvor skal du bruge det (hvilket prog.sprog ?-)

-- for du må kunne arbejde med matches og submatches !-)
Avatar billede dr.truti Nybegynder
19. februar 2008 - 13:59 #5
det skal bruges i PHP, jeg vil sagtens kunne fjerne <'et med PHP. Men da grunden til at jeg arbejder med reg.exp, er at scriptet skal optimeres mest muligt, foretrækker jeg at fjerne så meget load fra PHP som muligt.
Avatar billede nielle Nybegynder
19. februar 2008 - 14:00 #6
Nu tog jeg jo bare udgangspunkt i det du selv var igang med.

Men mon ikke ligt positiv lookbehind kan gøre det?

(?<=>)[^<>]+
Avatar billede nielle Nybegynder
19. februar 2008 - 14:01 #7
... og hvis det ikke er helt sikkert at linjen starter med en tag som i dit eksempel:

(?<=(^|>))[^<>]+
Avatar billede dr.truti Nybegynder
19. februar 2008 - 14:42 #8
Sådan nielle!

Smider du lige et svar :-)
Avatar billede nielle Nybegynder
19. februar 2008 - 15:02 #9
Svar :^)
Avatar billede nielle Nybegynder
19. februar 2008 - 17:53 #10
PS. Kan se at du har læst den første at mine regexp artikler - lookbehind er ellers beskrevet i nr. 2 :^)
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