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"))
aW1wb3J0IHJlCnMgPSAiQ1BQIiAjIHRvIEM8c3VwPisrPC9zdXA+CnJ4ID0gciIoPzw9XGJDKVArXGIiCnJlcyA9IHJlLnN1YihyeCwgKGxhbWJkYSBtOiAiPHN1cD4lczwvc3VwPiIlKCIrIiAqIGxlbihtLmdyb3VwKDApKSkpLCBzKQpwcmludChyZXMpCiMgbW9yZSB0ZXN0cwpwcmludChyZS5zdWIocngsIChsYW1iZGEgbTogIjxzdXA+JXM8L3N1cD4iJSgiKyIgKiBsZW4obS5ncm91cCgwKSkpKSwgIkNQIikpCnByaW50KHJlLnN1YihyeCwgKGxhbWJkYSBtOiAiPHN1cD4lczwvc3VwPiIlKCIrIiAqIGxlbihtLmdyb3VwKDApKSkpLCAiQyIpKQ==