这是一个字符串
"'"id"':001 (it is visualized "id":001)
我想只捕获lua中的值。
如果没有双引号,我只能提取值。
(使用:gmatch((%a+)%sd:%s(%d+))
)
有没有人解决这个问题?
答案 0 :(得分: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 demo,输出:
id 001
id2 002
"(%w+)"%s*:%s*(%d+)
模式匹配
"
- 双引号(%w+)
- 第1组:一个或多个字母数字字符(使用[%w_]+
也匹配_
)"
- "
%s*:%s*
- 用0 +空格包围的冒号(%d+)
- 第2组:一个或多个数字