Ik ben alweer dik een nacht bezig, maar ik kom er maar niet uit. Ik beschouw mijzelf niet als beginner wat betreft reguliere expressies, maar deze gaat me gewoon niet lukken. Hopelijk kan of wil iemand me hiermee op weg helpen.
Wat ik wil, is een reguliere expressie die onderstaande mogelijkheden in z'n geheel kan matchen:
[url]mijn link[/url]
[url=mijn link] tekst tekst (geen sluittag, maar ik voeg hem even toe omdat anders de opmaak verziekt wordt [/url])
[url=mijn link]tekst tekst[/url]
Of er nu valid urls staan tussen bijvoorbeeld [url=bla bla bla] maakt me niet zoveel uit, dat zoek ik wel weer uit zodra ik een match heb. Het probleem (of gebrek aan kennis) wat ik waarschijnlijk mis zit 'm in lookaheads. Maar ik weet nog niet helemaal hoe ze werken, en na uren klooien ben ik nog geen stap verder... Onderstaande reguliere expressie (\[url\={0,1})\]?[^\n]+?\] Matched alle gevallen tot aan het tweede ] symbool Maar daarna wordt het moeilijk. Want dan mag er alleen voorwaardelijk extra gecaptured worden: komt er na een range karakters [/url] voor in de te parsen tekst? Dan capturen tot aan die [/url]
En ik weet dat ik iets zou moeten doen als volgt:
(\[url\={0,1})\]?[^\n]+?\][^\n]+(?=\[/url\]), maar weet niet precies hoe...
Ik zou het enorm tof vinden als iemand weet hoe dit te doen...
Wat ik wil, is een reguliere expressie die onderstaande mogelijkheden in z'n geheel kan matchen:
[url]mijn link[/url]
[url=mijn link] tekst tekst (geen sluittag, maar ik voeg hem even toe omdat anders de opmaak verziekt wordt [/url])
[url=mijn link]tekst tekst[/url]
Of er nu valid urls staan tussen bijvoorbeeld [url=bla bla bla] maakt me niet zoveel uit, dat zoek ik wel weer uit zodra ik een match heb. Het probleem (of gebrek aan kennis) wat ik waarschijnlijk mis zit 'm in lookaheads. Maar ik weet nog niet helemaal hoe ze werken, en na uren klooien ben ik nog geen stap verder... Onderstaande reguliere expressie (\[url\={0,1})\]?[^\n]+?\] Matched alle gevallen tot aan het tweede ] symbool Maar daarna wordt het moeilijk. Want dan mag er alleen voorwaardelijk extra gecaptured worden: komt er na een range karakters [/url] voor in de te parsen tekst? Dan capturen tot aan die [/url]
En ik weet dat ik iets zou moeten doen als volgt:
(\[url\={0,1})\]?[^\n]+?\][^\n]+(?=\[/url\]), maar weet niet precies hoe...
Ik zou het enorm tof vinden als iemand weet hoe dit te doen...
[ Voor 57% gewijzigd door Verwijderd op 25-02-2007 05:52 ]