Module:TableTools: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
(add p.numData function)
(escape prefix and suffix strings in affixNums so that magic characters are interpreted literally)
Line 133: Line 133:
checkType('affixNums', 2, prefix, 'string', true)
checkType('affixNums', 2, prefix, 'string', true)
checkType('affixNums', 3, suffix, 'string', true)
checkType('affixNums', 3, suffix, 'string', true)

local function cleanPattern(s)
-- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally.
s = s:gsub('([()%%.%[%]*+-?^$])', '%%%1')
return s
end

prefix = prefix or ''
prefix = prefix or ''
suffix = suffix or ''
suffix = suffix or ''
prefix = cleanPattern(prefix)
suffix = cleanPattern(suffix)
local pattern = '^' .. prefix .. '([1-9]%d*)' .. suffix .. '$'
local pattern = '^' .. prefix .. '([1-9]%d*)' .. suffix .. '$'

local nums = {}
local nums = {}
for k, v in pairs(t) do
for k, v in pairs(t) do