internal static string Unescape(string input)
{
for (int i = 0; i < input.Length; i++)
{
if (input[i] == '\\')
{
StringBuilder builder = new StringBuilder();
RegexParser parser = new RegexParser(CultureInfo.InvariantCulture);
parser.SetPattern(input);
builder.Append(input, 0, i);
do
{
i++;
parser.Textto(i);
if (i < input.Length)
{
builder.Append(parser.ScanCharEscape());
}
i = parser.Textpos();
int startIndex = i;
while ((i < input.Length) && (input[i] != '\\'))
{
i++;
}
builder.Append(input, startIndex, i - startIndex);
}
while (i < input.Length);
return builder.ToString();
}
}
return input;
}