2017-12-12 55 views
1

私はLuaで簡単な正規表現を行う方法が見つかりません。すべての通常の言語では次のようになります。Luaの文字列から数値を抽出する方法は?

string:match("($1,000)", "[\d]+") 

戻り値:1000(一致する場合)。

私はstring.match("($1,000)", "%d+"))が仕事をすると思ったが、それは私がそれを理解していないゼロまたは1

を返します。

+0

を参照してください。 'm for string.gmatch(value、"%d ")do print(m)end' –

+5

コンマ'、 '' \ d'は普通の言語では決してマッチしません。 –

答えて

3

あなたはstring.gsub%D+(1以上の非数字文字)に従うすべての一致パターンを削除することがあります。

s = "($1,000)" 
res, _ = s:gsub("%D+", "") 
print(res) 
-- => 1000 

は私がループの中でそれを管理したと思うLua demo

関連する問題