那个,在lua中,使用模式匹配时,符号前要加%。
就像这样:
“%d+” 是匹配第一个数字
例如:12345678,5201314
而
“%d%+” 是匹配一个数字后加一个加号
例如:1+ 5+ 4+
你的那个
a,b=string.find("GL31-LWG-LJG-1-BQG-DWG","-1-BQG");
里有- 号,所以lua的解析会出错
改成
a,b=string.find("GL31-LWG-LJG-1-BQG-DWG","%-1%-BQG");
print(a,b);
就是输出 13 18 了。
具体的去看《lua 程序设计》这部书。
主要问题是三个字:没转义。具体内容可以看楼上那个老哥。
知识点提醒:匹配模式下转义用%,非匹配模式用\;在不确定一个符号是否需要转义的时候可以把所有字符都转义掉,这样总不会错,因为就算是不用转义的你加个转义结果也是一样的。