有人可以帮我理解 lua 中这行代码吗

local match1 = string.match(sk, "state = <string>%s*%d+")

在这个代码变量中,'sk' 是一个字符串。我不理解在给定的要匹配的模式中,<string> 意味着什么。

点赞
用户2858170
用户2858170

"state = <string>%s*%d+" 是一个像其他字符串一样的字符串。

在这里,%s*%d+ 有特殊的含义,但 <string> 就只是一个字面字符串。

该模式将匹配 "state <string>" 后面跟着 0 或多个空白字符,然后是一个或多个数字。

例如:

local sk = "hello world, state = <string>    24 dogs eat a cat"
print(string.match(sk, "state = <string>%s*%d+"))

将输出 state = <string> 24

2020-10-14 06:57:42