Hej Det reguljära uttrycket ser korrekt ut. Som Per sa, regexen ser rätt ut.. däremot bör du läsa på dokumentationen om string.Replace http://msdn2.microsoft.com/en-US/library/fk49wtc1.aspx, specifikt angående returvärdet.. Hint: strängar är immutable i .NET Suck och stön, det ska ju givetvis vara:Regexp för att matcha [url]http://www.exempel.se[/url]
Jag försöker att fånga upp mönster som är formade enligt: [url]här inne står det en hyperlänk[/url].
Jag har försökt med nedanstående test men tycks inte få till det:
public string hyperlink(string text)
{
Regex urltagpattern = new Regex(@"\[url\](.*?)\[\/url\]", RegexOptions.IgnoreCase);
MatchCollection urls = urltagpattern.Matches(text);
foreach (Match url in urls)
{
text.Replace(url.Value, "link");
}
return text;
}
Jag antar att det är mitt regexp som är helt uppåt väggarna.
Hur får jag till ett regexp som fångar upp t ex [url]här inne står det en text[/url] ?
Tack på förhand.
Sv: Regexp för att matcha [url]http://www.exempel.se[/url]
Vad ger din kod för resultat när du kör den?
Finns det inte någon funktion för att söka och ersätta samtidigt med ett regexp i stället för att som du gör först söka upp alla matchningar och sedan använda vanlig textersättning? (I PHP finns preg_replace().)Sv: Regexp för att matcha [url]http://www.exempel.se[/url]
Sv:Regexp för att matcha [url]http://www.exempel.se[/url]
public string hyperlink(string text)
{
Regex urltagpattern = new Regex(@"\[url\](.*?)\[\/url\]", RegexOptions.IgnoreCase);
MatchCollection urls = urltagpattern.Matches(text);
foreach (Match url in urls)
{
text = text.Replace(url.Value, "link");
}
return text;
}
Jag stirrade mig så blind på regexp:et att jag inte såg det uppenbara. Humor :-)