为什么`sData`是一个非零值?

时间:2013-04-09 02:46:38

标签: string search lua ptokax

代码的执行是here on eval.in

sMessage = "<hjpotter92> +help|"
local _, _, sCmd, sData = sMessage:find( "%b<>%s[%+%-%*%/%!%#%?](%w+)%s?(.*)|" )
print( _, sData, sCmd  )

print的输出表明我的sData是一个空字符串的值。

为什么这个值不是nil我为这种情况创建了一个基于sDatanil的整个项目,我发现它是不是这样。


我通过使用此块

解决了这个问题
if sData:len() == 0 then 
    sData = nil 
end

所以,我不是在寻求解决方案来实现这一目标。我只是问,为什么它不是nil值?

1 个答案:

答案 0 :(得分:1)

为什么它应该是nil
您正在使用空字符串成功匹配模式.* nil表示“找不到匹配项” example