using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string input = "CamelCase";
string output = Regex.Replace(input,
@"(?:\b|(?<=([A-Za-z])))([A-Z][a-z]*)",
m => string.Format(@"{0}{1}",
(m.Groups[1].Value.Length > 0)? "_" : "", m.Groups[2].Value.ToUpper()));
Console.WriteLine(output);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgRXhhbXBsZQp7CiAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQogIHsKICAgIHN0cmluZyBpbnB1dCA9ICJDYW1lbENhc2UiOwogICAgc3RyaW5nIG91dHB1dCA9IFJlZ2V4LlJlcGxhY2UoaW5wdXQsIAogICAgICBAIig/OlxifCg/PD0oW0EtWmEtel0pKSkoW0EtWl1bYS16XSopIiwgCiAgICAgIG0gPT4gc3RyaW5nLkZvcm1hdChAInswfXsxfSIsIAogICAgICAgIChtLkdyb3Vwc1sxXS5WYWx1ZS5MZW5ndGggPiAwKT8gIl8iIDogIiIsIG0uR3JvdXBzWzJdLlZhbHVlLlRvVXBwZXIoKSkpOwogICAgQ29uc29sZS5Xcml0ZUxpbmUob3V0cHV0KTsKICB9Cn0=