Tenho duas versões da palavra hi
.
(defvar x "```hi```")
(defvar y "```
hi
```")
Eu também tenho um scanner regex:
(defvar scanner (cl-ppcre:create-scanner "```(.*?)```" :multi-line-mode t))
Quando eu regex-replace em x, ele retorna como deveria. mas multi-line-mode
parece não funcionar.
(cl-ppcre:regex-replace scanner x "\\1") ;; => "hi"
(cl-ppcre:regex-replace scanner y "\\1") ;; => "```
hi
```"
Quero que tudo entre "```" seja substituído, independentemente de quantas vidas a string tenha.
O que estou fazendo de errado?
Você precisa
(create-scanner ... :multi-line-mode t :single-line-mode t)
Sim, isso é uma loucura. Mas é equivalente ao que Perl faz: em particular, de perlre :
e o
/s
modificador: