import re
words = ["ERP", "Gap"]
words_dict = { f'g{i}':item for i,item in enumerate(words) }
rx = rf"\b(?:{'|'.join([ rf'(?P<g{i}>{item})' for i,item in enumerate(words) ])})\b"
#print(rx)
text = 'ERP is integral part of GAP, so erp can never be ignored, ErP!'
results = []
for match in re.finditer(rx, text, flags=re.IGNORECASE):
results.append( [words_dict.get(key) for key,value in match.groupdict().items() if value][0] )
print(results)
aW1wb3J0IHJlCgp3b3JkcyA9IFsiRVJQIiwgIkdhcCJdCndvcmRzX2RpY3QgPSB7IGYnZ3tpfSc6aXRlbSBmb3IgaSxpdGVtIGluIGVudW1lcmF0ZSh3b3JkcykgfSAKCnJ4ID0gcmYiXGIoPzp7J3wnLmpvaW4oWyByZicoP1A8Z3tpfT57aXRlbX0pJyBmb3IgaSxpdGVtIGluIGVudW1lcmF0ZSh3b3JkcykgXSl9KVxiIgojcHJpbnQocngpCgp0ZXh0ID0gJ0VSUCBpcyBpbnRlZ3JhbCBwYXJ0IG9mIEdBUCwgc28gZXJwIGNhbiBuZXZlciBiZSBpZ25vcmVkLCBFclAhJwoKcmVzdWx0cyA9IFtdCmZvciBtYXRjaCBpbiByZS5maW5kaXRlcihyeCwgdGV4dCwgZmxhZ3M9cmUuSUdOT1JFQ0FTRSk6CiAgICByZXN1bHRzLmFwcGVuZCggW3dvcmRzX2RpY3QuZ2V0KGtleSkgZm9yIGtleSx2YWx1ZSBpbiBtYXRjaC5ncm91cGRpY3QoKS5pdGVtcygpIGlmIHZhbHVlXVswXSApCiAgICAKcHJpbnQocmVzdWx0cykK