如何在lua中查找方括号字符?

问题描述

| 因此,我试图在字符串中查找方括号:
s = \"testing [something] something else\"
x,y = string.find(s,\"[\")
这给我一个错误:格式错误(缺少\'] \')。 我也尝试过:
x,\"\\[\")
给我同样的错误。 还有这个:
x,\"\\\\[\")
在这种情况下,x和y为零。 有关如何正确执行此操作的任何想法?提前致谢。     

解决方法

约翰的答案将起作用-关闭模式匹配。 您要尝试做的-逃离
[
-是通过Lua中的
%
字符完成的:
 x,y = string.find(s,\'%[\')
而且Lua中的字符串都具有string模块作为其元表,因此您可以这样说:
 x,y = s:find(\'%[\')
甚至:
 x,y = s:find\'%[\'
    ,使用
string.find
的第四个参数可以关闭模​​式匹配。
x,\"[\",nil,true)