public override string ToString() { if (success) { var result = new StringBuilder("%("); Slicer slicer = visibleSpaces(input); foreach (var match in matches) { slicer.Reset(); slicer[match.Index, match.Length] = "§".Repeat(match.Length); for (var i = 1; i < match.Groups.Length; i++) { var(_, index, length) = match.Groups[i]; slicer.Reset(); slicer[index, length] = "‡".Repeat(length); } } result.Append(slicer); result.Append(")"); return(result.ToString()); } return("%(Failure)"); }