如何对一组数字执行字符串匹配?

我有以下数据集:

Word-1-random
Word-2-random
Word-3-random
Word-4-random
保存到
Word-19-random

Other-Word-1-random
Other-Word-2-random
Other-Word-3-random
Other-Word-4-random
保存到
Other-Word-19-random

现在我想在一组日期, 数字1-5, 6-10, 11-15等上执行匹配。 我认为应该使用以下方法:

match("^Word%-d[1-5]%-",string)
match("%-Word%-d[1-5]%-",string)
点赞
用户12918181
用户12918181

根据您的示例,想法可能是这样的:

<script src="https://github.com/fengari-lua/fengari-web/releases/download/v0.1.4/fengari-web.js"></script>
<script type="application/lua">

local text = [[
Word-1-random
Word-2-random
Word-3-random
Word-4-random
upto
Word-19-random

Other-Word-1-random
Other-Word-2-random
Other-Word-3-random
Other-Word-4-random
Other-Word-5-random
Other-Word-6-random
Other-Word-7-random
Other-Word-8-random
Other-Word-9-random
Other-Word-10-random
Other-Word-11-random
]]

local s1,s2
local grp,cnt = 0,0
text:gsub('(%S+%-)(%d+)(%-%S+)', function(p1,n,p2)
  if s1 ~= p1 or s2 ~= p2 or cnt == 5 then
    print('Group'..grp)
    s1,s2 = p1,p2
    cnt = 0
    grp = grp + 1
  end
  print(p1..n..p2)
  cnt = cnt + 1
end)

</script>
2020-02-29 17:16:10