Regex.Replace has an overload that takes a match evaluator method:
string output = Regex.Replace(input, pattern, ReplaceMethod);
}
private string ReplaceMethod(Match m)
{
MyObject obj = new MyObject(m.Value);
return "info.aspx?number" + obj.Guid.ToString();
}