fork download
  1. using System;
  2. using System.IO;
  3. using System.Text.RegularExpressions;
  4. using System.Linq;
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. var input = "{{test_data1&&!test_data2}}";
  10. var result = Regex.Replace(input, @"{{(!?\w+(?:\s*(?:&&|\|\|)\s*!?\w+)*)}}", m =>
  11. Regex.Replace(
  12. Regex.Replace(m.Groups[1].Value, @"\s*(&&|\|\|)\s*", " $1 "),
  13. @"\w+",
  14. "mystring.$&"));
  15. Console.WriteLine(result);
  16. }
  17. }
Success #stdin #stdout 0.03s 134720KB
stdin
Standard input is empty
stdout
mystring.test_data1 && !mystring.test_data2