import re

strings = [
    "aaaa**!!!cccc333**",
    "aaabbbbaaa",
    "aaabbbbbbaaa****ccc",
    "!!! aaaabbbaaa ccc!!!"
]
pattern = r"(\S)\1{3,}|(\S)\2{2}"
for s in strings:
    matches = re.finditer(pattern, s)
    result = []
    for matchNum, match in enumerate(matches, start=1):
        if match.group(2):
            result.append(match.group(2))
    print(result)