Lua - 匹配字符串,包括非字母类

时间:2016-07-26 16:12:42

标签: string lua match

我正在尝试在Lua中找到字符串的完全匹配,包括特殊字符。我希望下面的示例返回它是完全匹配,但由于-字符,它返回nil

index = string.find("test-string", "test-string") 返回nil

index = string.find("test-string", "test-") 返回1

index = string.find("test-string", "test") 也返回1

如何让它完全匹配?

3 个答案:

答案 0 :(得分:4)

Parameters: {"utf8"=>"✓", "authenticity_token"=>"...", "user"=>{"email"=>"...@..."}, "captcha"=>"LQQNOK", "captcha_key"=>"94f701cc098d8f70a84e081a03a19994bb3c4b62", "commit"=>"..."} 是Lua字符串模式中的模式运算符,因此当您说-时,您告诉test-string匹配字符串find()的数量很少时间尽可能多。那么会发生什么呢?它会看test,看到test-string,并且由于test在这种情况下不是真正的减号,所以它真的在寻找-

像迈克所说的那样,用teststring字符来逃避它。

我发现this有助于更好地理解模式。

答案 1 :(得分:2)

您需要使用 6 Annual Social Night 7 Annual Social Night 8 Annual Social Night 9 Annual Social Night 字符转义模式中的特殊字符。

所以在这种情况下你正在寻找

%

答案 2 :(得分:2)

你也可以要求一个忽略魔术字符的普通子串匹配:

string.find("test-string", "test-string",1,true)