login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > Overige

Regex uitdaging

Martijn – 12/12/2011 21:26 (Laatst gewijzigd op 12/12/2011 21:32)
Allereerst, ik heb dit niet nodig! Nog niet in ieder geval 
-------------------------------------
De volgende situatie doet zich voor:

"[quote] tekst [/qoute]"

De regex hiervoor zou zijn /[quote](.*?)[/quote]/ (!zonder escapen voor leesbaarheid)

Die is te doen. Nu de volgende:
"[quote] tekst [quote]tekst2[/quote] tekst [/qoute]"
Oftewel, een quote in een quote.

De regex hiervoor zou zijn /[quote](.*)[/quote]/ (!zonder escapen voor leesbaarheid)
-Omdat deze nu greedy is (geen vraagteken) zal ie de steeds de eerste en de laatste nemen, en krijg je een quote in quote.

Dan, de lastige:
"[quote] tekst [quote]tekst2[/quote] tekst [/qoute]
Tekst 3!
[quote]tekst4[/quote]
"

Wat is daar de regex voor? Punten voor leesbaarheid en flexibiliteit. Kan natuurlijk dat tekst1/2 en tekst4 andersom staan, of dat tekst4 een tekst5 in zich heeft

Ik heb er al even nagedacht, maar kwam er zo snel niet op en vond het een leuk puzzeltje om te delen.
PS: Een quote in een quote mag je _niet_ vervangen door wat anders. Ik wil dus echt een quote in een quote zien, ongeacht het aantal! (Ja, in praktijk een beetje raar, maar toch)

3 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

vinTage – 12/12/2011 21:30

Martijn – 12/12/2011 21:33
maar die heeft alleen een quote in een quote in een quote. Die is niet zo moeilijk, het probleem zit m in de quote in quote, dan tekst buiten quotes, en dan weer quotes. Tenzij ik dat verkeerd zag, maar die zag ik even niet in het topic dat je gaf

vinTage – 12/12/2011 21:37 (Laatst gewijzigd op 24/12/2011 00:11)
bekijk het live voorbeeld, die geeft alles wat je selecteert 

edit: ik heb die ooit voor sitemasters geschreven, maar met de snelheid waarmee hier hapklare code wordt geïmplementeerd.....misschien staat hij nog op de test versie/svn

edit
(na een lange tijd) maar ik was benieuwd of je er al uit was, en aangezien mijn oplossing niet juist was, was ik benieuwd naar een betere oplossing.

Gesponsorde links

Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.02s