Lua Pattern - 如何使用此lua模式获取所需的字符串

时间:2012-06-28 10:49:04

标签: lua

local invoiceData =
[[I N V O I C E
Invoice No. :
ABCDEFG125469857
Invoice Date May
2012
]]

我使用的模式是

 print (string.match(invoiceData,'\nInvoice Date (.-)\n'))

我想将字符串发票日期取为 MAY12 。或 0512 ..请帮助

由于

1 个答案:

答案 0 :(得分:2)

不是与.-匹配,而是更具体,并使用%w+(字母数字)和%d+(数字)来匹配月份和年份。

剧本:

local invoiceData =
[[I N V O I C E
Invoice No. :
ABCDEFG125469857
Invoice Date May
2012
]]

month, year = string.match(invoiceData,'Invoice%s+Date%s+(%w+)%s+%d*(%d%d)')
print(month, year)

将打印:

May    12