Ваше регулярное выражение должно быть ".*\((.?)\) .* '(.?)\'"
. Это приведет к получению как символа внутри круглых скобок, так и символа внутри одинарных кавычек.
>>> import re
>>> s = " s = string.charAt (0) == 'd'"
>>> m = re.search(r".*\((.?)\) .* '(.?)'", s)
>>> m.groups()
('0', 'd')