common lisp:寻找一个像(str:string-case但使用正则表达式的库



我正在尝试用Common Lisp重写一个AWK脚本(作为一种学习练习)

我需要这样的东西:

(str:string-case field
("FODL.*" (do something)))

(尝试匹配正则表达式"FODL.*"对于一个字段)

根据翻译的脚本复杂性,您可以使用像cond+ ppcre这样简单的东西,或者更复杂的东西,比如琐事模式匹配,它也有基于ppcre的模式贡献:

(ql:quickload :cl-ppcre)
(ql:quickload :trivia)
(ql:quickload :trivia.ppcre)
(use-package '(:trivia :trivia.ppcre))
(match "other"
((ppcre "som[e|a].") :some)
((ppcre "^oth") :other))
;;=> :OTHER
(match "some"
((ppcre "som[e|a].") :some)
((ppcre "^oth") :other))
;;=> NIL
(match "something"
((ppcre "som[e|a].") :some)
((ppcre "^oth") :other))
;;=> :SOME

最新更新