import re

pattern = r"(?<!\bIf\sI\s)\brecall(?:s|ed)?\b"

s = "Hi, I am talking about a recall on the product I bought last month. If I recall correctly, I purchased this at your store on august 15th. Can you tell me if I can get a refund on this recall?"
matches = re.finditer(pattern, s, re.IGNORECASE)
for matchNum, match in enumerate(matches, start=1):
    print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
