Пример #1
0
 public static IEnumerable <WordHighlight> GetAlignManual(DocAlignmentData alignData, string text, int v, int length, bool take2)
 {
     return(alignData.Manual.Select(align => new WordHighlightWithBrush(
                                        take2 ? align.Position2 : align.Position1,
                                        take2 ? align.Length2 : align.Length1
                                        )));
 }
Пример #2
0
        public static IEnumerable <WordHighlight> GetAlignRegexes(DocAlignmentData alignData, string text, int start, int length, bool take2)
        {
            var result = new List <WordHighlight>();

            text = (start == 0 && length == text.Length)
                ? text
                : text.Substring(start, length);
            foreach (var regexAlign in alignData.Regexes)
            {
                var regex   = new Regex(take2 ? regexAlign.Regex2 : regexAlign.Regex1);
                var matches = regex.Matches(text);
                for (int i = 0; i < matches.Count; i++)
                {
                    var mo = matches[i];
                    result.Add(new WordHighlight(mo.Index + start, mo.Length));
                }
            }
            return(result);
        }