2011-12-05 3 views
7

\d[0-9]と認識されません。下記の私のコンソール出力を参照してください。Luaのlibpcre実装が ' d'をサポートしていない可能性はありますか?

> require "rex_pcre" 
> return rex_pcre.new("[0-9]+"):exec("1234") 
1  4  table: 0x2141ce0 
> return rex_pcre.new("\d+"):exec("1234") 
nil 

何か不足していますか?ケビン・バラードとして

UPDATE

正しく、文字列エスケープ作品に答えてきました!例えば

> return rex_pcre.new("\\d+"):exec("1234") 
1  4  table: 0x21427f0 
> return rex_pcre.new([[\d+]]):exec("1234") 
1  4  table: 0x2142ee0 

おかげケビン

+0

私はちょうど、しかし、実際には、質問が投稿されてから10分または15分が経過するまで答えを受け入れることはありませんでした。 –

答えて

9

私は\dのLUAによって文字列エスケープとして解釈されているからだと想像してみてください。代わりに"\\d+"または[[\d+]]を使用してください。構文はexplained hereです。

関連する問題