这是一个字符串
"'"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 组:一位或多位数字
关于regex - 如何在lua中提取除双引号之外的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47473340/