如何在lua中string.find方括号字符?

Mar*_*ado 8 string lua pattern-matching

所以我试图在字符串中找到方括号:

s = "testing [something] something else"
x,y = string.find(s,"[")
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误:格式错误的模式(缺少']').

我也尝试过:

x,y = string.find(s,"\[")
Run Code Online (Sandbox Code Playgroud)

给我同样的错误.

还有这个:

x,y = string.find(s,"\\[")
Run Code Online (Sandbox Code Playgroud)

在这种情况下,x和y为零.

有关如何正确做到这一点的任何想法?提前致谢.

Mud*_*Mud 13

约翰的答案将起作用 - 关闭模式匹配.

你想要做什么 - 逃避[- 用%Lua中的角色完成:

 x,y = string.find(s,'%[')
Run Code Online (Sandbox Code Playgroud)

Lua中的字符串也都有字符串模块作为其元表,所以你可以说:

 x,y = s:find('%[')
Run Code Online (Sandbox Code Playgroud)

甚至:

 x,y = s:find'%['
Run Code Online (Sandbox Code Playgroud)


Joh*_*eek 6

使用第四个参数来string.find关闭模式匹配。

x, y = string.find(s, "[", nil, true)
Run Code Online (Sandbox Code Playgroud)