下面是我的模式,它对给定的字符串正常工作。当最后一行中缺少0时,Lua模式无法正常工作
local tempRec = [[
ABC01-USD-0322-A Total DUE amount : 2312.08 USD
Value Date : 31 MAY 2011
Details:ABCDE - BCD:/ABC01 0212 23.79/ARM01 0311 870.79
Details:FGHIJ - BCD:/ABC01 0323 1.88
Details:KLMNO - BCD:/ABC01 0314 1,035.99
Details:PQRST - BCD:/ABC01 0315 677.61
Details:UVWXY - BCD:/ABC01 0316 362.75
Details:ZABCD - BCD:/ABC01 0317 0.28
]]
paytternToMatch = "(%w%w%w[%w%d][%w%d]%-.-%d%p%d%d\n)\n[\n]*"
for w in string.gmatch(tempRec, paytternToMatch) do
print(w)
end
但是,当我从下面的mentioed字符串的最后一行中删除0。该模式不匹配。任何帮助都会被理解。
local tempRec = [[
ABC01-USD-0322-A Total DUE amount : 2312.08 USD
Value Date : 31 MAY 2011
Details:ABCDE - BCD:/ABC01 0212 23.79/ARM01 0311 870.79
Details:FGHIJ - BCD:/ABC01 0323 1.88
Details:KLMNO - BCD:/ABC01 0314 1,035.99
Details:PQRST - BCD:/ABC01 0315 677.61
Details:UVWXY - BCD:/ABC01 0316 362.75
Details:ZABCD - BCD:/ABC01 0317 .28
]]
paytternToMatch = "(%w%w%w[%w%d][%w%d]%-.-%d%p%d%d\n)\n[\n]*"
for w in string.gmatch(tempRec, paytternToMatch) do
print(w)
end
感谢
什么是你想从该字符串中提取? – lhf 2011-06-03 12:51:27