Avatar billede jfl Nybegynder
26. april 2003 - 14:26 Der er 6 kommentarer og
1 løsning

Parse tags

Hvordan laver jeg en regular expression som kan dele mytag's op således:
- for Eks. 1 skal den finde mytext 1
- for Eks. 2 skal den finde <mytag 3>mytext 2</mytag><mytag 4>mytext 3</mytag>
Pattern skal kunne bruges for begge eksempler.

Eks. 1
<mytag 1>mytext 1</mytag>

Eks. 2
<mytag 2><mytag 3>mytext 2</mytag><mytag 4>mytext 3</mytag></mytag>
Avatar billede jespernaur Nybegynder
26. april 2003 - 14:36 #1
<mytag[^>]*>(.*)</mytag>
Avatar billede jfl Nybegynder
26. april 2003 - 15:01 #2
Vil den for eks. 2 så ikke kun fange "<mytag 3>mytext 2"
Avatar billede jfl Nybegynder
26. april 2003 - 15:10 #3
Den skal være ungreedy da der er flere tags i samme tekst.
F.eks:

<b><mytag 1>mytext 1</mytag></b>

<span class="txtmain"><mytag 2><mytag 3>mytext 2</mytag><mytag 4>mytext 3</mytag></mytag></span>
Avatar billede jespernaur Nybegynder
26. april 2003 - 15:10 #4
Nej, fordi .* er 'grådig' og vil spise alt til men ikke med sidste forekomst af </mytag>
Avatar billede jespernaur Nybegynder
26. april 2003 - 15:10 #5
Det fremgik jo ikke af det oprindelige spm.
Avatar billede jfl Nybegynder
26. april 2003 - 15:39 #6
sorry, men det kan jo løses, jeg ved bare ikke hvordan. gør du?
Avatar billede jespernaur Nybegynder
26. april 2003 - 15:47 #7
Mit oprindelige svar fra 14:36:10 løser den oprindeligt stillede opgave præcist. Så kommer du 15:10:01 med yderligere 2 eksempler, hvor det dog ikke fremgår hvad du ønsker skal ske.

Har du forsøgt med mit oprindelige udtryk?
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