import re
string = "It was never going to work, he thought. He did not play so well, so he had to practice some more. Not foobar !"
transformed = re.sub(r'(?:not|never|no)[\w\s]+[^\w\s]',
lambda match: re.sub(r'(\s+)(\w+)', r'\1NEG_\2', match.group(0)),
string,
flags=re.IGNORECASE)
print transformed
aW1wb3J0IHJlCgpzdHJpbmcgPSAiSXQgd2FzIG5ldmVyIGdvaW5nIHRvIHdvcmssIGhlIHRob3VnaHQuIEhlIGRpZCBub3QgcGxheSBzbyB3ZWxsLCBzbyBoZSBoYWQgdG8gcHJhY3RpY2Ugc29tZSBtb3JlLiBOb3QgZm9vYmFyICEiCgp0cmFuc2Zvcm1lZCA9IHJlLnN1YihyJyg/Om5vdHxuZXZlcnxubylbXHdcc10rW15cd1xzXScsIAogIAkJbGFtYmRhIG1hdGNoOiByZS5zdWIocicoXHMrKShcdyspJywgcidcMU5FR19cMicsIG1hdGNoLmdyb3VwKDApKSwgCgkJCXN0cmluZywKICAgICAgZmxhZ3M9cmUuSUdOT1JFQ0FTRSkKICAgICAgCnByaW50IHRyYW5zZm9ybWVk