Столкнулся с несколько странной проблемой ... Я хочу перевернуть строку:
а \ слева (B_ {d} \ справа)
в
a \ left (b_ {d} \ right)
в Scite с использованием скрипта Lua.
Итак, я написал следующий скрипт Lua для Scite:
function SpaceTexEquations()
editor:BeginUndoAction()
local sel = editor:GetSelText()
local cln3 = string.gsub(sel, "\\left(", " \\left( ")
local cln4 = string.gsub(cln3, "\\right)", " \\right) ")
editor:ReplaceSel(cln4)
editor:EndUndoAction()
end
Линия cln3 работает нормально, однако cln4 вылетает с:
/home/user/sciteLuaFunctions.lua:49: invalid pattern capture
>Lua: error occurred while processing command
Я думаю, это потому, что символы в скобках () зарезервированы в Lua; но почему же линия cln3 работает без выхода? Кстати я тоже пробовал:
-- using backslash \ as escape char:
local cln4 = string.gsub(cln3, "\\right\)", " \\right) ") -- crashes all the same
-- using percentage sign % as escape chare
local cln4 = string.gsub(cln3, "\\right%)", " \\right) ") -- does not crash, but does not match either
Может кто-нибудь сказать мне, что будет правильным способом сделать это?
Спасибо,
Ура!