【发布时间】:2012-09-22 08:39:09
【问题描述】:
我有一些 magnet 链接在 Lua 中作为字符串提交。这些磁铁通常采用以下格式:
magnet:?xt=<hashing>&xl=<size>&dn=<name>
但随着客户端的不同,磁铁也可以生成为:
magnet:?xl=<size>&xt=<hashing>&dn=<name>
从这种类型的字符串中,我想获取 xl=(纯数字)和 xt= 之后的数据,其中包含%w和:(其中%w 是字母数字匹配)。
目前我正在使用两个单独的语句来获取这些值。这可以在单个语句中实现吗/string.find()?
sInput = "magnet:?xt=urn:tree:tiger:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC&xl=1234567890123456789&dn=This+Is+The+Name+Of+File.EXT"
local _, _, sHash = sInput:find( "xt=([%w%:]+)" )
local _, _, iSize = sInput:find( "xl=(%d+)" )
【问题讨论】:
标签: lua pattern-matching design-patterns string-matching