I am writing an application in python that solves puzzles. I am searching some text for a combination of characters, if I have a set of characters [abcd], then I need to find sub-strings in the text that contain only the characters abcd, and also must contain at least one occurrence of each character- so that the characters abcd matches dcba or abbcdd, but not acd, bbcd or abced. If use regex [abcd]+ then I will get substrings that do not contain each character