sS andCombineRegexps(LS regexps) { if (l(regexps) == 1) ret first(regexps); if (empty(regexps)) ret ""; StringBuilder out = new("^"); for i over regexps: if (i < l(regexps)-1) out.append("(?=.*?" + regexps.get(i) + ")"); else out.append(".*?" + regexps.get(i)); ret str(out); } sS andCombineRegexps(S... regexps) { ret andCombineRegexps(asList(regexps)); }