文章目录
- 边读`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提供搜索界限。
(defun exercise-12.6.2 ()"exercise 12.6.2Write 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)))