public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string result = ""; var resultRegExList = new List <string>(); if (value is List <Tuple <Operation, string> > ) { var regExList = value as List <Tuple <Operation, string> >; // if the list contains only ´the initial item if (regExList.Count == 0 || (regExList.Count == 1 && regExList.ElementAt(0).Item2 == "")) { return(oldValue); } foreach (var r in regExList) { if (r is Tuple <Operation, string> ) { var opAndString = r as Tuple <Operation, string>; resultRegExList.Add(RegExUtility.GenerateRegEx(opAndString.Item2, opAndString.Item1)); } } result = RegExUtility.MergeRegEx(resultRegExList); } return(result); }
private void RegExMetricCriticalGenAdd_Click(object sender, RoutedEventArgs e) { if (MonitoringIndicatorList.SelectedItem != null) { RegExUtil.Operation op = RegExOperationConvertBack(this.RegExGenMetricCriticalOp.SelectedItem as string); string part = RegExUtility.GenerateRegEx(RegExGeneratorMetricCritical.Text, op); string oldRegEx = (MonitoringIndicatorList.SelectedItem as Indicator).StatementCritical; var mergeList = new List <string>(); mergeList.Add(oldRegEx); mergeList.Add(part); (MonitoringIndicatorList.SelectedItem as Indicator).StatementCritical = RegExUtility.MergeRegEx(mergeList); RegExGeneratorMetricCritical.Text = ""; } }
public static void Main(string[] args) { try { Console.WriteLine("++++++++++++++++++++++++++++++++"); Console.WriteLine("+++ RegExUtilTestApplication +++"); Console.WriteLine("++++++++++++++++++++++++++++++++"); Console.WriteLine(); Console.WriteLine("(1) >"); Console.WriteLine("(2) <"); Console.WriteLine("(3) ="); Console.WriteLine("(4) contain"); Console.WriteLine("(5) not_contain"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Choose one Operation: "); var key = Console.ReadKey(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Enter value: "); var value = Console.ReadLine(); string result = ""; switch (((ConsoleKeyInfo)key).KeyChar) { case '1': result = RegExUtility.GenerateRegEx(value, Operation.Major); break; case '2': result = RegExUtility.GenerateRegEx(value, Operation.Less); break; case '3': result = RegExUtility.GenerateRegEx(value, Operation.Equal); break; case '4': result = RegExUtility.GenerateRegEx(value, Operation.Contain); break; case '5': result = RegExUtility.GenerateRegEx(value, Operation.NotContain); break; default: break; } if (result != "") { Console.WriteLine(); Console.WriteLine("Generated RegEx: "); Console.WriteLine(result); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("++++++++++++++++++++++++++++++++"); Console.WriteLine("+++ Test the RegEx +++"); Console.WriteLine("++++++++++++++++++++++++++++++++"); while (true) { Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Enter value: "); var testValue = Console.ReadLine(); bool matched = Regex.Match(testValue, result).Success; Console.WriteLine("Matched = " + matched); } } else { Console.WriteLine(); Console.WriteLine("Operation not implemented..."); Console.ReadKey(); } } catch (Exception e) { Console.WriteLine(">>> Program unexcepted closed"); Console.WriteLine(e); Console.ReadKey(); } }