学习clisp regexp

Ton*_*aun 2 clisp common-lisp

尝试在lisp中执行我的第一步:

我发现以下行为,AFAIK,是不正确的.

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

我理解:alnum:应该包括数字,但是,显然它不是!

我做错了什么?

Xac*_*ach 7

字符类的语法是"[:alnum:]",包括方括号.所以如果你想匹配,你必须这样写:

(regexp:match "[[:alnum:]]" "2" :extended t)
Run Code Online (Sandbox Code Playgroud)