Модуль:Сущность: различия между версиями

Нет описания правки
мНет описания правки
Строка 570: Строка 570:
             end
             end


             local PEER = "\31\31"
             local baseKey = apply_pattern(tostring(k), keyPattern, "\\1")
             local keyStr0 = apply_pattern(tostring(k), keyPattern, (keyReplace or "\\1"):gsub("\\2", PEER))
 
             local vStr0 = apply_pattern(vStr, valuePattern, (valueReplace or "\\1"):gsub("\\2", PEER))
            local MARK_KEY = "\31KEY\31"
             local keyStr = tostring(keyStr0):gsub(PEER, tostring(vStr0))
             local vRepl = (valueReplace or "\\1"):gsub("\\2", MARK_KEY)
             vStr = tostring(vStr0):gsub(PEER, tostring(keyStr0))
             local vStr0 = apply_pattern(vStr, valuePattern, vRepl)
            vStr0 = tostring(vStr0):gsub(MARK_KEY, baseKey)
 
            local MARK_VAL = "\31VAL\31"
            local kRepl = (keyReplace or "\\1"):gsub("\\2", MARK_VAL)
            local keyStr0 = apply_pattern(tostring(k), keyPattern, kRepl)
             local keyStr = tostring(keyStr0):gsub(MARK_VAL, vStr0)
 
             vStr = vStr0


             if vStr ~= "" then
             if vStr ~= "" then