英語不是我的母語,所以描述這個問題有點難。
我想通過lua string.gsub()獲得'd = 40'的str,但是有一些問題。
Lua string.gsub()由'%s'或' n'模式
------下面代碼---
本地STR = [== [
- A = 10
- -b = 20
--c = 30
d = 40
] ==]本地PAT1 = [= [%S [%S]] =]
本地PAT2 = [= [\ N [%S]] =]
str:gsub(pat2,function(s)print(「pat1 >>」.. s)end)--pat1 >> d = 40
str:gsub(pat2,function(s)print(「pat2 < <」 ..多個)端)--not匹配本地RE1,_ = STR:GSUB( 「\ n」, 「$」)
本地RE2,_ = STR:GSUB( 「%S」,」 $「)
print(re1)--a = 10 $ - -b = 20 $ --c = 30 $ d = 40 $
print(re2) - $ a = 10 $ - $ - b = 20 $$ - c = 30 $ d = 40 $
作爲Lua 5.1參考手冊說
%s:表示所有空格字符。
我認爲它等於'\ n',''和'\ t'。
問題:爲什麼pat2不能匹配?
但我認爲pat2是正確的,有'\ n'befor'd = 40',
所以我認爲它可以匹配,但它不能工作,爲什麼?
這是工作,thx – yftx 2012-09-20 14:51:50