2011-12-05 6 views
7

Trovo che \d non sia riconosciuto come [0-9]. Vedere l'output della mia console di seguito:E 'possibile che l'implementazione di libpcre di Lua non supporti' d '?

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

Mi manca qualcosa o cosa?

UPDATE

Come Kevin Ballard hanno risposto correttamente, stringa di fuga opere! per esempio.

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

Grazie Kevin

+0

Ho appena fatto, ci sono voluti un po 'però, devo al fatto che SO non lasciare accettare una risposta fino a 10 o 15 minuti sono passati da quando la domanda è stata pubblicata. –

risposta

9

immagino che sia perché \d viene interpretato come una fuga stringa Lua. Prova a utilizzare "\\d+" o [[\d+]] invece. La sintassi è explained here.

Problemi correlati