Lua 的 libpcre 实现是否不支持 '\d'?

7
我发现\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

我是否漏掉了什么?

更新

正如Kevin Ballard正确回答的那样,字符串转义是有效的!例如:

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

感谢Kevin。

我刚刚完成了,不过花了一些时间,因为SO要求问题发布后必须经过10到15分钟才能接受答案。 - Tzury Bar Yochay
1个回答

9
我想这是因为Lua将\d解释为字符串转义字符。尝试使用"\\d+"[[\d+]]代替。语法在这里有解释。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接