英語は私の母国語ではないので、質問を説明するのは少し難しいです。
lua string.gsub()によってstrで'd = 40'を取得したいのですが、いくつか問題があります。
------以下のコード---
ローカルstr=[== [ --a =
10 ---
b = 20
--c = 30
d = 40
] ==]ローカルpat1=[= [%s [%s]]=]
ローカルpat2= [= [\ n [%s]] =]
str:gsub(pat1、function(s)print( "pat1 >>" .. s )end)--pat1 >> d = 40
str:gsub(pat2、function(s)print( "pat2 <<" .. s)end)--一致しませんローカル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は正しいと思います。「d = 40」の前に「\n」がある
ので、一致する可能性があると思いますが、機能しないのはなぜですか。