正则表达式搜索在 GNU Emacs 中被广泛使用。forward-sentence 与 forward-paragraph 这两个函数是很好的示例。它们使用正则表达式定位光标移动位置。“正则表达式(regular expression)” 通常简写为 “regexp”。
正则表达式搜索的相关内容在 Regular Expression Search in The GNU Emacs Manual 以及 Regular Expressions in The GNU Emacs Lisp Reference Manual 中均有介绍。编写本章时,我假定你对其已有初步了解。需要记住的要点是,正则表达式允许你搜索模式而非仅搜索字面字符串。例如,forward-sentence 中的代码会搜索可能表示句子结尾的字符模式,并将光标移动到该位置。
在查看 forward-sentence 函数的代码之前,有必要先分析句子结尾对应的模式。下一节会讨论该模式,随后介绍正则表达式搜索函数 re-search-forward。接下来一节讲解 forward-sentence 函数,本章最后一节介绍 forward-paragraph 函数。forward-paragraph 是一个较为复杂的函数,会引入多个新特性。