コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }