Avatar billede zeth Nybegynder
26. august 2008 - 20:21 Der er 9 kommentarer og
2 løsninger

HTML atribute

Hej

Jeg har en expression som finder værdien af colspan i en tabel.. Min expression ser sådan ud: colspan=\"(.*?)\" .

Problemet er at den kun matcher hvis formatet er colspan="2" og ikke fx colspan='2' eller colspan=2 ..

Nogen hjælp?
Avatar billede jakobdo Ekspert
26. august 2008 - 20:42 #1
Hvad med noget ala:

colspan=[\'"]?(.+?)[\'"]?
Avatar billede zeth Nybegynder
27. august 2008 - 08:25 #2
Virker næsten perfekt, men virker ikke hvis colspan er på mere end 1 ciffer? Tak for hjælpen, læg et svar :)
Avatar billede schwarz84 Nybegynder
27. august 2008 - 08:50 #3
jakobdo's forslag matcher for meget, fx også colspan='2 eller colspan="2'. Det kan give nogle mærkelige resultater.
Måske noget i retningen af:
colspan=[\'](.*)[\']|(0-9a-zA-Z)*|["](.*)["]
Tegnet | er eller-tegnet, det kan variere lidt hvilket tegn man bruger i forskellige implementationer.
I tilfældet hvor der ikke er nogen ' eller " må der ikke være whitespace. Du vil måske gerne erstatte (0-9a-zA-Z) med noget der betyder "alt som ikke er whitespace". Det afhænger af din RegExp implementation hvordan man gør det...
Avatar billede jakobdo Ekspert
27. august 2008 - 09:03 #4
Hvad så med noget i stil med:

colspan=[\'"]?([a-z0-9]+)[\'"]?[a-z\s>/]

Om den matcher colspan="2 eller colspan=2' er vel ikke forkert ?
Den skal vel ikke også lave html validering ? :o)
Avatar billede jensgram Nybegynder
27. august 2008 - 17:18 #5
Hvilket sprog - er der mulighed for backreferences?

colspan\s+=\s+(['"]?)(\d+)\\1 , hvor \\1 er backreference

Utestet!, og de to \s+ kan udelades, hvis du ikke vil kunne matche colspan = XXX
Avatar billede schwarz84 Nybegynder
01. september 2008 - 12:42 #6
>Om den matcher colspan="2 eller colspan=2' er vel ikke forkert ?
Problemet er om den så kan finde på at matche
colspan="2 rowspan=2" således at den tror at indholdet af colspan er: 2 rowspan=2
Det afhænger lidt af hvilken Reg.Exp udgave man bruger og er som regel en fordel at ting er veldefinerede i tilfælde af fejl...
Avatar billede jensgram Nybegynder
20. oktober 2008 - 08:15 #7
Lukketid?
Avatar billede zeth Nybegynder
20. oktober 2008 - 10:23 #8
Beklager.. Opret et svar alle sammen
Avatar billede jakobdo Ekspert
20. oktober 2008 - 10:37 #9
Svar!
Avatar billede jensgram Nybegynder
20. oktober 2008 - 15:34 #10
...
Avatar billede jakobdo Ekspert
20. oktober 2008 - 22:35 #11
Takker for point
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