在 Emacs Lisp 函数中使用正则表达式将换行符替换为 <br>\n
Replace newline characters with <br>\n using regex in Emacs Lisp function
我想在 markdown 模式下用 <br>\n
替换所有换行符。我写了这段代码。没用。
(add-hook 'markdown-mode-hook
(lambda ()
(local-set-key (kbd "<f2>")
(lambda ()
(interactive)
(save-excursion
(beginning-of-buffer)
(while (re-search-forward "\(<br>\)?\n" nil t)
(replace-match "<br>\n" nil nil))
(save-buffer))))))
但是如果我在缓冲区中使用正则表达式 \(<br>\)?C-q C-j
交互调用 replace-regexp
并替换字符串 <br>C-q C-j
,它就可以工作。我已经为此苦苦挣扎了一段时间。我的代码有什么问题?
您的字符串未转义。试试 "\(<br>\)?\n"
.
我想在 markdown 模式下用 <br>\n
替换所有换行符。我写了这段代码。没用。
(add-hook 'markdown-mode-hook
(lambda ()
(local-set-key (kbd "<f2>")
(lambda ()
(interactive)
(save-excursion
(beginning-of-buffer)
(while (re-search-forward "\(<br>\)?\n" nil t)
(replace-match "<br>\n" nil nil))
(save-buffer))))))
但是如果我在缓冲区中使用正则表达式 \(<br>\)?C-q C-j
交互调用 replace-regexp
并替换字符串 <br>C-q C-j
,它就可以工作。我已经为此苦苦挣扎了一段时间。我的代码有什么问题?
您的字符串未转义。试试 "\(<br>\)?\n"
.