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