下面是我的模式,它對給定的字符串正常工作。當最後一行中缺少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