/// ------------------------------------------------------------------------------------ private string GetPhonesRunInPattern(string pattern) { while (true) { var match = PatternParser.FindInnerMostParenthesePair(pattern); if (!match.Success) { break; } pattern = pattern.Replace(match.Value, string.Empty); } while (true) { var match = PatternParser.FindInnerMostSquareBracketPairs(pattern); if (!match.Success) { break; } pattern = pattern.Replace(match.Value, string.Empty); } while (true) { var match = PatternParser.FindInnerAngleBracketPairs(pattern); if (!match.Success) { break; } pattern = pattern.Replace(match.Value, string.Empty); } pattern = pattern.Replace(",", string.Empty); pattern = pattern.Replace("[", string.Empty); pattern = pattern.Replace("]", string.Empty); pattern = pattern.Replace("{", string.Empty); pattern = pattern.Replace("}", string.Empty); pattern = pattern.Replace("_", string.Empty); pattern = pattern.Replace("/", string.Empty); pattern = pattern.Replace("*", string.Empty); pattern = pattern.Replace("+", string.Empty); pattern = pattern.Replace("NOT", string.Empty); return(pattern.Replace("#", string.Empty)); }
/// ------------------------------------------------------------------------------------ public void VerifyTextInAngleBrackets(string pattern) { var match = PatternParser.FindInnerAngleBracketPairs(pattern); while (match.Success) { var bracketedText = match.Result("${bracketedText}"); if (!_project.SearchClasses.Any(c => c.Name == bracketedText)) { var msg = LocalizationManager.GetString("PhoneticSearchingMessages.InvalidTextInAngleBracketsMsg", "The text '{0}' in angled brackets is not a valid class name."); var error = new SearchQueryValidationError(string.Format(msg, bracketedText)); error.HelpLinks.Add("hidSearchPatternsExamples"); Errors.Add(error); } match = match.NextMatch(); } }