2

这是一个字符串

"'"id"':001 (it is visualized "id":001)

我只想捕获 lua 中的值。如果没有双引号,我只能提取值。(使用一些东西gmatch((%a+)%sd:%s(%d+)):)

有没有人解决这个问题?

4

1 回答 1

2

你可以使用一个"(%w+)"%s*:%s*(%d+)模式:

local example = [[ "id":001 "id2":002 ]]
for i,y in example:gmatch([["(%w+)"%s*:%s*(%d+)]]) do
  print(i, y)
end

查看Lua 演示,输出:

id  001
id2 002

模式"(%w+)"%s*:%s*(%d+)匹配

  • "- 双引号
  • (%w+)- 第 1 组:一个或多个字母数字字符([%w_]+也用于匹配_
  • "- 一种"
  • %s*:%s*- 一个包含 0+ 个空格的冒号
  • (%d+)- 第 2 组:一位或多位数字
于 2017-11-24T12:33:46.007 回答