Example #1
0
        public bool TryMatch(string patternStr, out IPatternTranslator translator)
        {
            var index = patternStr.IndexOf(Pattern);

            if (index <= 0)
            {
                translator = null;
                return(false);
            }

            var a = patternStr.Substring(0, index);
            int amount;

            if (int.TryParse(a, out amount) || amount <= 0)
            {
                translator = null;
                return(false);
            }

            var pad = string.Empty;

            for (int i = 0; i < amount; i++)
            {
                pad += "^t";
            }
            translator = new ConstPatternTranslator(pad);
            return(true);
        }
Example #2
0
 public bool TryMatch(string patternStr, out IPatternTranslator translator)
 {
     if (Pattern.Equals(patternStr, StringComparison.InvariantCultureIgnoreCase))
     {
         translator = GetPatternTranslator(patternStr);
         return(true);
     }
     translator = null;
     return(false);
 }
 internal static bool TryGet(string patternStr, out IPatternTranslator translator)
 {
     lock (_matchers)
     {
         foreach (var matcher in _matchers)
         {
             if (matcher.TryMatch(patternStr, out translator))
             {
                 return(true);
             }
         }
     }
     translator = null;
     return(false);
 }