Emacs 会记录搜索过程中找到的文本片段的起始与结束位置,这被称为 匹配数据(match data)。借助匹配数据,你可以搜索复杂模式(如邮件中的日期格式),然后在模式控制下提取匹配结果的各个部分。
由于匹配数据通常只描述最近一次搜索的结果,你必须小心,避免在需要引用的搜索与使用匹配数据之间意外执行另一次搜索。如果无法避免中间插入其他搜索,就必须在其前后保存并恢复匹配数据,防止被覆盖。
注意:除非文档明确说明不会修改匹配数据,否则所有函数都可能覆盖它。这意味着在后台隐式运行的函数(see 用于延迟执行的定时器、空闲计时器)通常需要显式保存和恢复匹配数据。