Егор Скриптунов опубликовал правильный ответ, но я не могу пометить его, как это было в ветке комментариев.Если Егор переместит его в ответ, я поменяю оценку.
Но это то, что предложил Егор, и это сработало отлично, он сделал все, что хотел, поэтому Егор был невероятно полезен.Спасибо, Егор.
input:gsub("(|cffffffff)[^|]*(|r)", "%1another-car%2")
Удалите% 1 и% 2, чтобы удалить цветные теги
Вот как я использую решение Егора в своем коде:
local myvar = "|cffffffff" .. "red car" .. "|r"
local newvar = "blue car"
myvar = gsub(myvar, "(|cffffffff)[^|]*(|r)", "%1" .. newvar .. "%2")
print(myvar)