fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text.RegularExpressions;
  5.  
  6. public class Test
  7. {
  8. public static void Main()
  9. {
  10. var where = "ArrivalTime > DateTime.Now.AddMinute(-100) && ArrivalTime < DateTime.Now.AddMinute(100)";
  11. var pattern = @"DateTime\.Now\.AddMinute\(([^()]*)\)";
  12. var now = DateTime.Now;
  13. var res = Regex.Replace(where, pattern, x =>
  14. {
  15. var val= x.Groups[1].Value;
  16. int min;
  17. if (int.TryParse(val, out min))
  18. {
  19. var date = now.AddMinutes(min);
  20. return $"DateTime({date.Year}, {date.Month}, {date.Day}, {date.Hour}, {date.Minute}, 0)";
  21. } else return x.Value;
  22. });
  23. Console.WriteLine(res);
  24. }
  25. }
Success #stdin #stdout 0.04s 134592KB
stdin
Standard input is empty
stdout
ArrivalTime > DateTime(2018, 10, 17, 14, 35, 0) && ArrivalTime < DateTime(2018, 10, 17, 17, 55, 0)