Возможно ли, что реализация Lua libpcre не поддерживает '\d'?

Я нахожу это \d не признается как [0-9], Смотрите вывод моей консоли ниже:

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

Я что-то упустил или что?

ОБНОВИТЬ

Как правильно ответил Кевин Баллард, экранирование строк работает! например

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

Спасибо Кевин

1 ответ

Решение

Я думаю, это потому, что \d Lua интерпретирует как спасение строки Попробуйте использовать "\\d+" или же [[\d+]] вместо. Синтаксис объясняется здесь.

Другие вопросы по тегам