import re
rx = r"\b(?<!\w)((?:north|south)?(?:east|west)?)\b(?!\w)"
s = "The westerly barn is a room. The field is east of the barn.   The stable is northeast of the field. The forest is northwest of the field."
print( re.findall(rx, s) ) 