// patterns = e.g. "Zitat, Anfrage, Preis, Kosten, Preise, Geld, wieviel, wie + viel"
sbool mmo_match(S patterns, S s) {
  S s2 = trim(s);
  for (S pat : tok_splitAtComma(patterns))
    if (all(tok_splitAtPlus(pat), p -> startsWith(p, "#") ? eqic(p, s2) : find3(p, s2)))
      true;
  false;
}