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); }
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); }