import re
r = re.compile(r'\b(?=\w*(?<![iosxz])(?<![cs]h)es\b)\w*')
s = 'it matches "likes", "hates" etc. However, it does not match "bathes", why doesn\'t it?'
print(re.findall(r, s))
aW1wb3J0IHJlCnIgPSByZS5jb21waWxlKHInXGIoPz1cdyooPzwhW2lvc3h6XSkoPzwhW2NzXWgpZXNcYilcdyonKQpzID0gJ2l0IG1hdGNoZXMgImxpa2VzIiwgImhhdGVzIiBldGMuIEhvd2V2ZXIsIGl0IGRvZXMgbm90IG1hdGNoICJiYXRoZXMiLCB3aHkgZG9lc25cJ3QgaXQ/JwpwcmludChyZS5maW5kYWxsKHIsIHMpKQ==