Problem mit Regex

Hallo Zusammen

Und schon wieder stehe ich auf dem Schlauch. Aus einem beliebigen String muss ich http://www.xyz.com Einträge in Html Links umwandeln. Da der String jedoch aus einer Usereingabe kommt, müssen die Links die schon in der Html-Form sind ignoriert werden. Also sowas wie, wenn http am Anfang eines „Wortes“ steht, dann wandle um, wenn nicht, dann lass es bleiben. Momentan habe ich folgenden Code, aber leider funzt der nicht so, wie er sollte:

private static string PerformLinkTransforming(string stringToTransform) 
 {
 MatchCollection matchs = Regex.Matches(stringToTransform, 
 "(?\bhttp://((.|\\n)\*?))", 
 RegexOptions.IgnoreCase | RegexOptions.Compiled);
 string replaceString;
 foreach(Match m in matchs) 
 {
 replaceString = "[" + m.Groups["url"].ToString...](%255C%2522%2522)"
 stringToTransform = stringToTransform.Replace(m.ToString(), replaceString);
 }
 return stringToTransform;
}

Sehr wahrscheinlich ist meine Regex-Abfrage falsch, jedoch komm ich nicht drauf, wo dass der Fehler ist. Kann mir bitte jemand einen Tip geben?

Danke und Gruss
Andrea

Hallo Nochmals

Nachdem ich jetzt noch einige Stunden investiert habe, ist mir eine läuffähige Version, die mein Problem löst gelungen. Anbei noch der Code, falls es jemanden interessiert.

private static string PerformLinkTransforming(string stringToTransform) 
 {
 Regex r = new Regex(@"(^|\>| )http://(([\w-]+\.)+[\w-]+(/[\w- ./?%&=]\*)?)",
 RegexOptions.IgnoreCase|RegexOptions.Compiled);

 Match m;
 string url;
 for (m = r.Match(stringToTransform); m.Success; m = m.NextMatch()) 
 {
 url = m.ToString().Substring(m.ToString().IndexOf("http://"));
 stringToTransform = stringToTransform.Replace(url, "["+ url +"](%255C%2522%2522+)");
 }
 return stringToTransform;
 }

Grüsse
Andrea