using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var text = @"\firstcommand{\secondcommand{nestedcontent} outercontent}";
var pattern = @"\\(\w+)\{([^{}]*)}";
var prev = string.Empty;
do {
prev = text;
text = Regex.Replace(text, pattern, "<$1>$2</$1>");
} while (prev != text);
Console.WriteLine(text);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciB0ZXh0ID0gQCJcZmlyc3Rjb21tYW5ke1xzZWNvbmRjb21tYW5ke25lc3RlZGNvbnRlbnR9IG91dGVyY29udGVudH0iOwogICAgCXZhciBwYXR0ZXJuID0gQCJcXChcdyspXHsoW157fV0qKX0iOwogICAgCXZhciBwcmV2ID0gc3RyaW5nLkVtcHR5OwogICAgCWRvIHsKICAgIAkJcHJldiA9IHRleHQ7CiAgICAJCXRleHQgPSBSZWdleC5SZXBsYWNlKHRleHQsIHBhdHRlcm4sICI8JDE+JDI8LyQxPiIpOwogICAgCX0gd2hpbGUgKHByZXYgIT0gdGV4dCk7CiAgICAJQ29uc29sZS5Xcml0ZUxpbmUodGV4dCk7Cgl9Cn0=