Common lisp 学习clisp regexp

Common lisp 学习clisp regexp,common-lisp,clisp,Common Lisp,Clisp,尝试在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:m

尝试在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)

引擎可能不支持
[:alnum::
。您可以使用
[A-Za-z0-9\]
<代码>\w也可以工作(至少如果您切换到)。