re-search-forward 函数 ¶re-search-forward 函数与 search-forward 函数非常相似。(See The search-forward Function。)
re-search-forward 用于搜索正则表达式。若搜索成功,会将光标定位到目标最后一个字符的后方。若为反向搜索,则将光标定位到目标第一个字符的前方。你可以设置 re-search-forward 在成功时返回 t。(移动光标是其副作用。)
与 search-forward 类似,re-search-forward 函数接受四个参数:
nil,搜索失败时函数会抛出错误(并打印信息);其他值则表示失败返回 nil、成功返回 t。
re-search-forward 进行反向搜索。
re-search-forward 的模板如下:
(re-search-forward "regular-expression"
limit-of-search
what-to-do-if-search-fails
repeat-count)
第二、第三、第四个参数为可选。但如果你需要为后两个参数中的一个或两个传值,必须同时为前面所有参数传值。否则 Lisp 解释器会混淆参数对应关系。
在 forward-sentence 函数中,正则表达式为变量 sentence-end 的值。简化形式如下:
"[.?!][]\"')}]*\\($\\| \\| \\)[ ]*"
搜索边界为段落结尾(因为句子不会跨段落)。搜索失败时函数返回 nil;重复次数由 forward-sentence 函数的参数提供。