Хорошо, я нашел регулярное выражение, которое делает то, что вы хотите, но это полный беспорядок:
(?:(?<=\A)|(?<=\s))(.+?)(?=\Z|\s)
Если вы используете это регулярное выражение:
nodeDic = {"ABC-3K":"True","TTR":"True"}
address = "ABC-3K and TTR"
result = eval(re.sub(r"(?:(?<=\A)|(?<=\s))(.+?)(?=\Z|\s)", lambda m: nodeDic.get(m.group(1),m.group(1)), address))
print(result) # prints True