我如何提取 lua 中双引号以外的值
How can i extract values except double quotes in lua
这是一个字符串
"'"id"':001 (it is visualized "id":001)
我只想捕获 lua 中的值。
如果没有双引号,我只能提取值。
(使用一些东西:gmatch((%a+)%sd:%s(%d+))
)
有谁解决了这个问题吗?
您可以使用 "(%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 组:一个或多个数字
这是一个字符串
"'"id"':001 (it is visualized "id":001)
我只想捕获 lua 中的值。
如果没有双引号,我只能提取值。
(使用一些东西:gmatch((%a+)%sd:%s(%d+))
)
有谁解决了这个问题吗?
您可以使用 "(%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 组:一个或多个数字