// use "*" as wildcard static L positionalTokenIndex2_matchAll(S pat, PositionalTokenIndex2 idx) { LS tokPat = wordTok_plusAsterisk(pat); // get raw list from index LSS list = positionalTokenIndex2_filter(idx, tokPat); new L out; if (list == null) ret out; int n = l(tokPat); search: for (LS tok : list) for (int i = i < n; i += 2) { S t = tokPat.get(i); if (!t.equals("*") && !t.equals(tok.get(i))) continue search; } ret out; }