Functions to generate all permutations and extract a list of all combinations, in various formats, are provided. The following input formats are supported:

* A list of words. All variations on word length can be generated (input is case insensitive).

* A list of words with characters. Any characters can be extracted

* Regular expressions. The format is very similar to: "expr1|expr2|expr3", where each expr is one regexp. The same 50e0806aeb hangodd