[RegEx] Указать max/min количество символов в регулярном выражении

vladmany

Известный
Автор темы
117
8
Версия MoonLoader
.026-beta
Задача следующая. Нужно регулярным выражением вернуть все вхождения в строке от 0 до n символов. Простыми словами разбить строку на части, которые будут длинной не более n символов. Но вот не задача, в lua почему-то не работает шаблон:
Lua:
"(.{0,5})"
Возвращает nil, хотя в других языках, это работает(тестил на JS). Что я не так делаю?
 
Решение
В луа свои регулярки, тут такого нет
Lua:
local function splitByChunk(text, chunkSize)
    local s = {}
    for i = 1, #text, chunkSize do
        s[#s + 1] = text:sub(i, i + chunkSize - 1)
    end
    return s
end

local str = 'abcdefghijklmnopqrstuvwxyz'
local tbl = splitByChunk(str, 5)
for i = 1, #tbl do print(tbl[i]) end

--[[
output:
    abcde
    fghij
    klmno
    pqrst
    uvwxy
    z
]]

sᴀxᴏɴ

#Mary
Всефорумный модератор
791
846
В луа свои регулярки, тут такого нет
Lua:
local function splitByChunk(text, chunkSize)
    local s = {}
    for i = 1, #text, chunkSize do
        s[#s + 1] = text:sub(i, i + chunkSize - 1)
    end
    return s
end

local str = 'abcdefghijklmnopqrstuvwxyz'
local tbl = splitByChunk(str, 5)
for i = 1, #tbl do print(tbl[i]) end

--[[
output:
    abcde
    fghij
    klmno
    pqrst
    uvwxy
    z
]]
 
  • Вау
Реакции: user390868