В Python это возможно с передачей лямбда-функции в re.sub
>>> import re
>>> d={"a":"e","b":"f","c":"g","d":"h"}
>>> re.sub("[abcd]",lambda x:d[x.group(0)],"abcd")
'efgh'
Обычно просто сопоставление "a" и "e" не очень полезно.
Это будет более полезно, как в следующем случае, когда вы хотите изменить a, b, c, d на e, f, g, h, когда перед ними стоит «x». Это можно сделать с помощью одного регулярного выражения.
>>> re.sub("(?<=x)[abcd]",lambda x:d[x.group(0)],"xaxbxcxdaabbccdd")
>>>'xexfxgxhaabbccdd'