function repl(v)
res, _ = string.gsub(v:gsub('|[()]$', ''), '|[()]', ' \\')
return res
end
print(repl('abcdef'))
print(repl('abcd|('))
print(repl('abcde|(foo'))
print(repl('abcd|)'))
print(repl('abcde|)foo'))
--if there is no | then do nothing
--if nothing follows of the |( or |) then delete these two characters
--if something follows then replace |( or |) with <space>\
ZnVuY3Rpb24gcmVwbCh2KQoJcmVzLCBfID0gc3RyaW5nLmdzdWIodjpnc3ViKCd8WygpXSQnLCAnJyksICd8WygpXScsICcgXFwnKQogICAgcmV0dXJuIHJlcwplbmQKCnByaW50KHJlcGwoJ2FiY2RlZicpKQpwcmludChyZXBsKCdhYmNkfCgnKSkKcHJpbnQocmVwbCgnYWJjZGV8KGZvbycpKQpwcmludChyZXBsKCdhYmNkfCknKSkKcHJpbnQocmVwbCgnYWJjZGV8KWZvbycpKQoKLS1pZiB0aGVyZSBpcyBubyB8IHRoZW4gZG8gbm90aGluZwotLWlmIG5vdGhpbmcgZm9sbG93cyBvZiB0aGUgfCggb3IgfCkgdGhlbiBkZWxldGUgdGhlc2UgdHdvIGNoYXJhY3RlcnMKLS1pZiBzb21ldGhpbmcgZm9sbG93cyB0aGVuIHJlcGxhY2UgfCggb3IgfCkgd2l0aCA8c3BhY2U+XA==