import re
pattern = r'(?<!\S)(?:[^\so]*o){0,2}[^o\s]*(?!\S)'
text = "hop hoop hooop hoooop hooooop"
print(re.findall(pattern, text))
print([x for x in text.split() if x.count("o") < 3])
aW1wb3J0IHJlCnBhdHRlcm4gPSByJyg/PCFcUykoPzpbXlxzb10qbyl7MCwyfVteb1xzXSooPyFcUyknCnRleHQgPSAiaG9wIGhvb3AgaG9vb3AgaG9vb29wIGhvb29vb3AiCnByaW50KHJlLmZpbmRhbGwocGF0dGVybiwgdGV4dCkpCnByaW50KFt4IGZvciB4IGluIHRleHQuc3BsaXQoKSBpZiB4LmNvdW50KCJvIikgPCAzXSk=