Find's -regex matches the entire path, not just the file name. That means that to find /path/to/foo, you need -regex '.*foo', and not just foo`. You want something like:
find . -E -regex ".*[a-z][A-Z].*"
It would be much simpler to use globs and the simpler -name as suggestedsuggested by SYN, however, instead of regexes.