我有这个词的两个版本hi
。
(defvar x "```hi```")
(defvar y "```
hi
```")
我还有一个正则表达式扫描仪:
(defvar scanner (cl-ppcre:create-scanner "```(.*?)```" :multi-line-mode t))
当我对 x 进行正则表达式替换时,它会按预期返回。但multi-line-mode
似乎不起作用。
(cl-ppcre:regex-replace scanner x "\\1") ;; => "hi"
(cl-ppcre:regex-replace scanner y "\\1") ;; => "```
hi
```"
我希望“```”之间的所有内容都被替换,无论字符串有多少生命。
我究竟做错了什么?
你需要
(create-scanner ... :multi-line-mode t :single-line-mode t)
是的,这太疯狂了。但它相当于 Perl 所做的:特别是来自perlre:
和
/s
修饰符: