RegexContext IRegexExpression.Match(RegexContext context) { RegexContext toRetutn = new RegexContext(); RegexContext leftChildResult = leftChild.Match(context); foreach (var el in leftChildResult) { toRetutn.Add(el); } RegexContext rightCildResult = rightChild.Match(context); foreach (var el in rightCildResult) { toRetutn.Add(el); } return(toRetutn); }
RegexContext IRegexExpression.Match(RegexContext context) { RegexContext toReturn = new RegexContext(); foreach (var element in context) { if (element.Length < myString.Length) { continue; } string beginning = element.Substring(0, myString.Length); if (beginning == myString) { toReturn.Add(element.Substring(myString.Length)); } } return(toReturn); }
RegexContext IRegexExpression.Match(RegexContext context) { var toReturn = new RegexContext(); var prev = new RegexContext(); foreach (var el in context) { toReturn.Add(el); } while (!toReturn.IsEmpty()) { foreach (var el in toReturn) { prev.Add(el); } toReturn = child.Match(toReturn); } return(prev); }