lua中的source:match(“%d *”)是什么意思?

时间:2019-11-07 14:40:14

标签: lua

-- Parse speed value as kilometers by hours.
function Measure.parse_value_speed(source)
  local n = tonumber(source:match("%d*"))
  if n then
    if string.match(source, "mph") or string.match(source, "mp/h") then
      n = n * miles_to_kilometers
    end
    return n
  end
end

我对以上代码中%d之后的“ *”感到困惑。任何意见,不胜感激。

1 个答案:

答案 0 :(得分:0)

这一切都在Lua参考手册中!

source:match("%d*")

string.match(source, "%d*")的语法糖

请参见https://www.lua.org/manual/5.3/manual.html#3.4.10

  

string.match(s,pattern [,init])查找字符串s中pattern的第一个匹配项(请参见§6.4.1)。如果找到一个,则匹配   返回模式的捕获;否则返回nil。如果   模式未指定捕获,则返回整个匹配项。一种   第三,可选的数字参数init指定从何处开始   搜索;其默认值为1,并且可以为负。