英语不是我的母语,所以描述这个问题有点困难。
我想通过 lua string.gsub() 在 str 中获取 'd=40',但是有一些问题。
------代码如下---
local str = [==[
-- a=10
- -b=20
--c=30
d=40
]==]本地 pat1 = [=[%s[%s]]=]
本地 pat2 = [=[\n[%s]]=]
str:gsub(pat1, 函数 print("pat1>>" .. s ) end) --pat1>>d=40
str:gsub(pat2, 函数 print("pat2<<" .. s) end) --不匹配本地 re1,_ = str:gsub("\n","$")
本地 re2,_ = str:gsub("%s","$")
print(re1) --a=10$- -b= 20$ --c=30$d=40$
打印(re2) --$a=10$-$-b=20$$ --c=30$d=40$
正如Lua 5.1参考手册所说
%s: 代表所有空格字符。
我认为它等于'\n'、''和'\t'。
问题:为什么pat2无法匹配?
但我认为 pat2 是对的,有一个 '\n'befor'd=40' ,
所以我认为它可以匹配,但它不能工作,为什么?