学习 lisp 正则表达式

Learning clisp regexp

尝试在 lisp 中迈出第一步:

我发现以下行为据我所知是不正确的。

[185]> (if (regexp:match "[:alnum:]" "2" :extended t) t nil)
NIL
[186]> (if (regexp:match "[:alnum:0-9]" "2" :extended t) t nil)
T

我明白 :alnum: 应该包括数字,但是,显然它没有!

我做错了什么?

字符 类 的语法是“[:alnum:]”,包括 方括号。所以如果要匹配,就得这样写:

(regexp:match "[[:alnum:]]" "2" :extended t)