static bool swicEwic(S s, S prefix, S suffix) { ret swic(s, prefix) && ewic(s, suffix); } static bool swicEwic(S s, S prefix, S suffix, Matches m) { if (!swicEwic(s, prefix, suffix)) false; if (m != null) m.m = new S[] {substring(s, l(prefix), l(s)-l(suffix))}; true; }