Lua查找字符串注意

问题:

使用Lua写Wireshark插件时,经常匹配字符串。今天使用string.find()函数查找字符串”max-age”,没有找到。

分析:

local index = string.find(content, str)

第一个参数是源字符串,第二个参数是要查找的字符串,注意第二个参数是正则表达式。"-"号是有特殊含义的,需要加转义字符"%"。

解决:

给减号加转义字符,string.find(data, "max%-age")。

其他需要加转义符的有:( ) . % + - * ? [ ^ $