2013-09-02 14 views
5

私はLua string.matchを使っていくつかのHTML値を抽出していますが、いくつかの属性にいくつかの問題があります。このような電話番号を抽出するためにLua string.matchを使ってHTMLの値を抽出する

:0000-0000、私はマスクを使用しています:

local value = string.match(STRING, "%d%d%d%d-%d%d%d%d") 

しかし、Luaはこのような何かを返すされています。途中で"-"ある場合は"0000000"

をマスク文字列の?

そして、このような何かを行うにどのような方法があります:

"%d[4]-%d[4]"(文字列にどのように多くの文字を表示されます指定)は

+0

コンテキストを明確にするために、 'string.match'が呼び出されたときに' STRING'が含むものを追加できますか? – greatwolf

+0

実際には、stringはGETメソッドの後のHTMLです。 :) – Crasher

答えて

7

-Lua patternsで特殊な制御文字です。 リテラル-文字が必要なので、%文字でエスケープする必要があります。したがって、%-を使用してください。

+0

'%-'もうまくいくでしょう:) – hjpotter92

+0

@ hjpotter92:しばらくRegexを使っていましたので、私はLuaのエスケープ文字を忘れてしまいました。 –

+0

\ - で動作しませんでしたが、% - で動作します。ニコルとhjpotter、ありがとう! – Crasher

関連する問題