在cl-ppcre中,如何发现正则表达式中的寄存器组数?

时间:2010-11-10 18:43:54

标签: regex common-lisp

使用cl-ppcre,我想发现正则表达式中的寄存器组数,而不执行任何匹配。这可能吗?如何?

1 个答案:

答案 0 :(得分:5)

如果您将正则表达式作为字符串,则可以使用cl-ppcre:parse-string将其转换为性别,您可以检查:REGISTER的出现次数,例如

(count :register (alexandria:flatten (ppcre:parse-string "^\\d (\\S+|(x|y))")))

如果它已经使用create-scanner创建,我认为你没有多少选择;该对象是一个不透明的闭包。