示例#1
0
        private static PatternScanResult ComplexFindKeyword(this Pattern self, string text, int startPosition)
        {
            PatternScanResult res;

            while (true)
            {
                res = self.ComplexFind(text, startPosition);
                if (res.Token == "")
                {
                    return(res);
                }

                if (self.CharIsSeparator(text, res.Index - 1) && self.CharIsSeparator(text, res.Index + res.Token.Length))
                {
                    return(res);
                }

                startPosition = res.Index + 1;
                if (startPosition >= text.Length)
                {
                    res.Token = "";
                    res.Index = 0;
                    return(res);
                }
            }
        }
示例#2
0
 /// <summary>
 /// For public use only
 /// </summary>
 /// <param name="self"></param>
 /// <param name="text"></param>
 /// <param name="position"></param>
 /// <returns></returns>
 public static bool HasSeparators(this Pattern self, string text, int position)
 {
     return(self.CharIsSeparator(text, position - 1) && self.CharIsSeparator(text, position + self.StringPattern.Length));
 }