import re
s = "CPP" # to C<sup>++</sup>
rx = r"(?<=\bC)P+\b"
res = re.sub(rx, (lambda m: "<sup>%s</sup>"%("+" * len(m.group(0)))), s)
print(res)
# more tests
print(re.sub(rx, (lambda m: "<sup>%s</sup>"%("+" * len(m.group(0)))), "CP"))
print(re.sub(rx, (lambda m: "<sup>%s</sup>"%("+" * len(m.group(0)))), "C"))