Английский не является моим родным языком, поэтому немного сложно описать вопрос.
Я хочу получить 'd=40' в строке str с помощью lua string.gsub(), но есть проблема.
------код ниже---
local str = [==[
-- a=10
- -b=20
--c=30
d= 40
]==]local pat1 = [=[%s[%s]]=]
local pat2 = [=[\n[%s]]=]
str:gsub(pat1, function(s) print("pat1 >>" .. s) end) --pat1>>d=40
str:gsub(pat2, function(s) print("pat2‹‹" .. s) end) --not matchlocal re1,_ = str:gsub("\n","$")
local 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' ,
поэтому я думаю, что он может совпадать, но не работает, почему ?