LUA:查找并返回双引号中的字符串

lox*_*017 5 string lua find

我尝试在 HTML-Body 中找到一个字符串,该字符串看起来像var version="1,1,0,0";,我只想提取双引号之间的内容。我已经尝试过

local version = string.match(response.body, ".version.") return version

Wik*_*żew 3

您可以使用一种var%s+version="([^"]+)模式,string.match它只会输出捕获的文本(即与 匹配的文本([^"]+))(请参阅此Lua 模式教程):

s = [[var version="1,1,0,0";]]
res = string.match(s, [[var%s+version="([^"]+)]])
print(res)
Run Code Online (Sandbox Code Playgroud)

请参阅Lua 演示

细节

  • var -var文字
  • %s+- 1+ 空格
  • version="-version="文字
  • ([^"]+)- 匹配 1+ 个字符以外的捕获组"

如果你想指定里面只能有数字和逗号version="...",请使用var%s+version="([%d,]+)模式(参见演示),其中[%d,]+匹配1+数字或逗号。