【问题标题】:Learning clisp regexp学习 clisp 正则表达式
【发布时间】:2016-05-06 09:50:45
【问题描述】:

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

我知道 :alnum: 应该包含数字,但显然它没有!

我做错了什么?

【问题讨论】:

  • 引擎可能不支持[:alnum:]。您可以改用[A-Za-z0-9_]\w 也可能有效(至少如果您切换到 cl-ppcre)。

标签: common-lisp clisp


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2010-09-05
    • 2022-11-28
    • 2013-02-17
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多