Added any, counting unnamed groups from 0 rather than 1, accepting non-capturing groups default value, added normalize_list for testing purposes