使用Lua我正在使用模式解析大型XML字符串中最后一次出现的XML标记:
local firstPattern = "<tag>(.-)</tag>"
然后我使用以下代码查找每个事件:
local lastMatch
for match in string.gmatch(xmlString, firstPattern) do
lastMatch = match
end
它似乎不是很快,所以我尝试在我的模式的开头添加一个贪婪的角色:
local secondPattern = ".*<tag>(.-)</tag>"
lastMatch = string.match(xmlString, secondPattern)
在解析之前和之后打印os.clock()
我发现第二个模式稍微快一点,但我不得不认为有一个更好的模式来匹配最后一次出现的xml标记。
我还尝试了第三种模式,但它只返回xml标记的第一个实例。
local thirdPattern = "<tag>(.-)</tag>.-$"
local firstMatch = string.match(xmlString, thirdPattern)