以前http://cadr.g.hatena.ne.jp/g000001/20080318/1205851335でちょっとふれてあった CL-INTERPOL 便利だ。 頭に #? は付けなければならないけど、正規表現中のバックスラッシュを重ねる手間がはぶけるし、変数や式の埋め込みもできる。 これが常に有効でもいいんじゃないだろうか。 (require :cl-interpol) (require :cl-ppcre) (cl-interpol:enable-interpol-syntax) (cl-ppcre:do-register-groups (m) (#?/(\d+)/ "aa12ab34") (princ #?"match is [${m}]\n")) ;; match is [12] ;; match is [34] (princ #?"(+ 1 2) => ${(+ 1 2)