using System;
using System.Text.RegularExpressions;
using System.Collections.Specialized;
class Program
{
static void Main() {
var myRegex = new Regex(@"{[^}]*}|(#+)");
string s1 = @"# {0}mm ####{1:0.##}mm ##x {2:0.##}mm";
string replaced = myRegex.Replace(s1, delegate(Match m) {
if (m.Groups[1].Value != "") return "";
else return m.Value;
});
Console.WriteLine("\n" + "*** Replacements ***");
Console.WriteLine(replaced);
Console.WriteLine("\nPress Any Key to Exit.");
Console.ReadKey();
} // END Main
} // END Program
ICAgIHVzaW5nIFN5c3RlbTsKICAgIHVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKICAgIHVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZDsKICAgIGNsYXNzIFByb2dyYW0KICAgIHsKICAgIHN0YXRpYyB2b2lkIE1haW4oKSB7CiAgICB2YXIgbXlSZWdleCA9IG5ldyBSZWdleChAIntbXn1dKn18KCMrKSIpOwogICAgc3RyaW5nIHMxID0gQCIjIHswfW1tICMjIyN7MTowLiMjfW1tICMjeCB7MjowLiMjfW1tIjsKICAgICAKICAgIHN0cmluZyByZXBsYWNlZCA9IG15UmVnZXguUmVwbGFjZShzMSwgZGVsZWdhdGUoTWF0Y2ggbSkgewogICAgaWYgKG0uR3JvdXBzWzFdLlZhbHVlICE9ICIiKSByZXR1cm4gIiI7CiAgICBlbHNlIHJldHVybiBtLlZhbHVlOwogICAgfSk7CiAgICBDb25zb2xlLldyaXRlTGluZSgiXG4iICsgIioqKiBSZXBsYWNlbWVudHMgKioqIik7CiAgICBDb25zb2xlLldyaXRlTGluZShyZXBsYWNlZCk7CiAgICAgCiAgICAgCiAgICBDb25zb2xlLldyaXRlTGluZSgiXG5QcmVzcyBBbnkgS2V5IHRvIEV4aXQuIik7CiAgICBDb25zb2xlLlJlYWRLZXkoKTsKICAgICAKICAgIH0gLy8gRU5EIE1haW4KICAgIH0gLy8gRU5EIFByb2dyYW0=