a, i, c = string.find(s, '"("?)', i + 1)
这里的作用是什么 ?
?我相信它正在检查双引号,但我真的不明白"("?)
.
我读到string.find
返回匹配模式的开始和结束索引。但是根据上面的代码行a
,i
和c
,正在返回 3 个值。这里返回的第三个值是什么?
a, i, c = string.find(s, '"("?)', i + 1)
这里的作用是什么 ?
?我相信它正在检查双引号,但我真的不明白"("?)
.
我读到string.find
返回匹配模式的开始和结束索引。但是根据上面的代码行a
,i
和c
,正在返回 3 个值。这里返回的第三个值是什么?
?
匹配一个可选字符,即一个字符出现零次或一次。所以该模式"("?)
匹配 a "
,后跟一个可选的"
,即它匹配一个"
or ""
。请注意,"?
(零或一"
)的匹配被捕获。
至于 的返回值string.find()
,来自string.find()
:
如果模式有捕获,那么在成功匹配中,捕获的值也会在两个索引之后返回。
捕获是第三个返回值,当匹配成功时。