Lua中的捕获机制和转换技巧介绍
为了解决这个问题,可以使用向前引用,使用捕获的第一个引号来表示第二个引号:捕获值的第三个应用是用在函数gsub中。与其他模式一样,gsub的替换串可以包含 '%d',当替换发生时他被转换为对应的捕获值。对正常的解析器而言,模式匹配不是一个替代品。这将花费原来平方次幂的时间,导致在一个奔腾333MHz的机器中需要3个多小时来处理一个200K的文本串。比如,如果你打算用模式 '%a*' 匹配名字,你会发现到处都是名字:有时候,使用Lua本身构造模式是很有用的。我们不手工来写这个最终的模式,而使用函数string.rep:我们可以多次调用gsub来处理这些情况,但是对于这个任务使用传统的循环来处理更有效。循环体的主要任务是查找下一个逗号;并将域的内容存放到一个表中。
下载地址
用户评论