}//end GetMatch() public static List <string> GetMatches(CSharpVerbalExpressions.VerbalExpressions verbalExpression, string input, List <string> defaultValues = null) { try { var result = new List <string>(); var match = CalculateMatch(verbalExpression, input); if (match.Success) { foreach (var capture in match.Captures) { result.Add(capture.ToString()); } return(result); } return(defaultValues); } catch (Exception) { if (defaultValues != null) { return(defaultValues); } throw; } }//end GetMatches()
private static Match CalculateMatch(CSharpVerbalExpressions.VerbalExpressions verbalExpression, string input) { var pattern = verbalExpression.ToRegex()?.ToString(); if (string.IsNullOrWhiteSpace(pattern)) { throw new Exception("Could not parse the VerbalExpression into a string pattern."); } Regex regex = new Regex(pattern); Match match = regex.Match(input); return(match); }
public static string GetMatch(CSharpVerbalExpressions.VerbalExpressions verbalExpression, string input, string defaultValue = null) { try { var match = CalculateMatch(verbalExpression, input); if (match.Success) { return(match.Value); } return(defaultValue); } catch (Exception) { if (defaultValue != null) { return(defaultValue); } throw; } }//end GetMatch()