using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string str = @"Some text (* Invalid Macro Insert some text (*ValidMacroInsert*)
Some text Invalid Macro Insert *) some text (*ValidMacroInsert*)";
string result1 = Regex.Replace(str, @"(?m)\(\*(?=(?:(?!\(\*|\*\)).)*\(|$)", "<");
string result2 = Regex.Replace(result1, @"(?<!\(\*(?:(?!\(\*|\*\)).)*)\*\)", ">");
Console.WriteLine(result2);
Console.ReadLine();
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CiAKcHVibGljIGNsYXNzIFRlc3QKewpwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCnsKc3RyaW5nIHN0ciA9IEAiU29tZSB0ZXh0ICgqIEludmFsaWQgTWFjcm8gSW5zZXJ0IHNvbWUgdGV4dCAoKlZhbGlkTWFjcm9JbnNlcnQqKQpTb21lIHRleHQgSW52YWxpZCBNYWNybyBJbnNlcnQgKikgc29tZSB0ZXh0ICgqVmFsaWRNYWNyb0luc2VydCopIjsKc3RyaW5nIHJlc3VsdDEgPSBSZWdleC5SZXBsYWNlKHN0ciwgQCIoP20pXChcKig/PSg/Oig/IVwoXCp8XCpcKSkuKSpcKHwkKSIsICI8Iik7CnN0cmluZyByZXN1bHQyID0gUmVnZXguUmVwbGFjZShyZXN1bHQxLCBAIig/PCFcKFwqKD86KD8hXChcKnxcKlwpKS4pKilcKlwpIiwgIj4iKTsKQ29uc29sZS5Xcml0ZUxpbmUocmVzdWx0Mik7CkNvbnNvbGUuUmVhZExpbmUoKTsKfQp9