わかりました、この議論のためのちょっとした注意事項です。私は特にこのページに混乱しました:
SciTE 正規表現
他の正規表現構文からわかるように、それは空白に一致すると言う\s
ので...そして、シェルで試しています:
$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> c=" d"
> print(c:match(" "))
> print(c:match("."))
> print(c:match("\s"))
nil
> print("_".. c:match("[ ]") .."_")
_ _
> print("_".. c:match("[ ]*") .."_")
_ _
> print("_".. c:match("[\s]*") .."_")
__
うーん...\s
ここでは認識されないようです-そのページはおそらくSciteの検索/置換の正規表現を参照しています-Luaの正規表現構文(sciteも使用しています)ではありません。
次に、lua-users wiki: Patterns Tutorialを読み直し、@NormanRamsey%
の回答ではなく、エスケープ文字が であるというコメントを取得し始めます。だから、これを試してください:\
> print("_".. c:match("[%s]*") .."_")
_ _
...確かに機能します。
したがって、Lua の「パターン」は Lua の「正規表現」とは異なるコマンド/エンジンであると最初は考えていたので、Lua の「パターン」はLua 固有の「正規表現」構文/エンジン (言い換えれば、それらのうちの 2 つはありません:)
) 。
乾杯!