totalately$^b.*ifically^(a|b)[o-z]+$ Note ^ and $ for beginning and end..*(e.*){5,}q[^u].*([a-z])\1.*([a-z])\2.*([a-z])\3.*([a-z])\4.*.*([a-z]{3}).*\1.*\1.*^f(?=\\w*?a)(?=\\w*?e)(?=\\w*?i)(?=\\w*?o)(?=\\w*?u)[a-z]+ It uses the lookahead assertion (?=) and non-greedy matching \w*?". There are a surprisingly large number of words containing all vowels, including words starting with every letter except y in the Base dictionary, and all letters in Union.(?=.*e)^[eginpux]{4,}$ find words of four or more letters from [eginpux] that contain "e". See NYT Spelling Bee.