Citat:
Ursprungligen inskrivet av CyberVillain
[B]på nått sätt borde det gå att ställa in så att den tar enbart den sista
som den hittar? Om detta går är jag homefree för på så sätt kan jag sköta rekursiviteten av genom rekursivt metod anrop..
edit
skumt! Jag provade att efter \[quote\] lägga till $ allså \[quote\]$ detta funkar i Expresso (ett testprogram för regexp) men det funkar inte från mitt program??!
edit2: exakt såhär ser min regexxp ut
Regex quoteRegex = new Regex(
@(?<quotetag>\[quote="(?<name>.*?)""\](?<post>.*?)\[/quote\]"
+ @$),
RegexOptions.IgnoreCase
| RegexOptions.Singleline
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);
funkar hur bra som helst i expresso...
edit3: hehe fast då kommer man inte kunna ha två quotes efter varanda [/B][/QUOTE]
En anledning till att det inte fungerar i ditt program kan vara att inlägget kanske inte slutar där? $ förutsätter ju att raden eller hela texten slutar där, inte säkert att det gör vid ett inlägg.
Om du bara ska ta reda på den första och den sista så är det inga problem och inte bryr dig om att det kanske är quotes i mitten.
Har du lyckats med din regex så du tar från första till sista?
tar från första quote till sista quote
tar från första quote till sista quote eller tills slutet (dvs, slut quote krävs inte, den får en match iaf)
\[quote\].*(\[\/quote\])*