Aqui você está.
Começ uma resposta de Tim Pietzcker
Se você quer combinar a:-) que não está precedido por “por favor ignorar-me”, a seguir você precisaria um lookbehind do negativo (? So what you could do is to match (\bplease ignore me\s*)?:-\) and then, if it matches, check whether the capturing group $1 is empty.