static LS jextractAll_any(S s, S... patterns) { ret jextractAll_any(javaTok(s), patterns); } static LS jextractAll_any(LS tok, S... patterns) { new TreeSet> set; // pair(startIndex, endIndex) for (S pat : patterns) { LS tokPat = javaTok(pat); jfind_preprocess(tokPat); set.addAll(map(jfindAll(tok, tokPat), i -> pair(i, i+l(tokPat)-2))); } ret mapPairsToList(set, (start, end) -> joinSubList(tok, start, end)); }