文章目录
- [边读`Emacs Lisp Intro`边做题(五)](#边读
Emacs Lisp Intro
边做题(五))
边读Emacs Lisp Intro
边做题(五)
打开emacs
,按C-h i
打开Info
页,找到Emacs Lisp Intro
。
- 这里的
\\b\\([^@ \n\t]+\\)[ \n\t]+\\1\\b
抄自题目描述中提供的链接,即Appendix A The 'the-the' Function
。 - 该链接中也提供了答案,但是我没有照抄,下面是我自己写的:
(save-excursion (goto-char (point-max)))
是指将光标移至buffer
最后,返回它的位置,为re-search-forward
提供搜索界限。
emacs-lisp
(defun exercise-12.6.2 ()
"exercise 12.6.2
Write a function to search for duplicated words, such as "the
the". *Note Syntax of Regular Expressions: (emacs)Regexps, for
information on how to write a regexp (a regular expression) to
match a string that is composed of two identical halves. You can
devise several regexps; some are better than others. The
function I use is described in an appendix, along with several
regexps. *Note 'the-the' Duplicated Words Function: the-the."
(interactive)
(let ((pattern "\\b\\([^@ \n\t]+\\)[ \n\t]+\\1\\b"))
(re-search-forward pattern (save-excursion (goto-char (point-max))) nil 1)))