import re
def censor(message, /, word):
return re.sub(
fr'(\|\|.+?\|\|)|\b{re.escape(word)}\b',
lambda match: match[1] or f'{word[0]}||{word[1:]}||',
message
)
t = ['Omg I\'m so dead', 'Omg I\'m so d||ead||', '||Omg I\'m so dead||']
for e in t:
print(f"{e!r:<21}: {censor(e, word = 'dead')!r}")
aW1wb3J0IHJlCgpkZWYgY2Vuc29yKG1lc3NhZ2UsIC8sIHdvcmQpOgogIHJldHVybiByZS5zdWIoCiAgICBmcicoXHxcfC4rP1x8XHwpfFxie3JlLmVzY2FwZSh3b3JkKX1cYicsCiAgICBsYW1iZGEgbWF0Y2g6IG1hdGNoWzFdIG9yIGYne3dvcmRbMF19fHx7d29yZFsxOl19fHwnLAogICAgbWVzc2FnZQogICkKCgp0ID0gWydPbWcgSVwnbSBzbyBkZWFkJywgJ09tZyBJXCdtIHNvIGR8fGVhZHx8JywgJ3x8T21nIElcJ20gc28gZGVhZHx8J10KCmZvciBlIGluIHQ6CiAgcHJpbnQoZiJ7ZSFyOjwyMX06IHtjZW5zb3IoZSwgd29yZCA9ICdkZWFkJykhcn0iKQo=