using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string text = "Hello world :low this \"but not this\" or 'this'";
text = Regex.Replace(text, @":\w+|""[^""]*""|'[^']*'|(.)",
match => match.Groups[1].Success ? match.Groups[1].Value.ToUpper() : match.Value);
Console.WriteLine(text);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgICAgIHN0cmluZyB0ZXh0ID0gIkhlbGxvIHdvcmxkIDpsb3cgdGhpcyBcImJ1dCBub3QgdGhpc1wiIG9yICd0aGlzJyI7CiAgICAgICAgICAgIHRleHQgPSBSZWdleC5SZXBsYWNlKHRleHQsIEAiOlx3K3wiIlteIiJdKiIifCdbXiddKid8KC4pIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPT4gbWF0Y2guR3JvdXBzWzFdLlN1Y2Nlc3MgPyBtYXRjaC5Hcm91cHNbMV0uVmFsdWUuVG9VcHBlcigpIDogbWF0Y2guVmFsdWUpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSh0ZXh0KTsKCX0KfQ==