Editor_BatchFindReplace

搜索或替换多个字符串。你能直接用该内联函数或明确地发送 EE_FIND_REPLACE 消息。

HRESULT Editor_BatchFindReplace( HWND hwnd, FIND_REPLACE_INFO* pBatchArray, UINT nBatchCount, UINT64 nBatchFlags, UINT64* pnTotalCount );

参数

hwnd

指定 EmEditor 视图或框架的窗口句柄。

pBatchArray

指针指向 FIND_REPLACE_INFO 结构

nBatchCount

指定在 pBatchArray 参数中指定的 FIND_REPLACE_INFO 结构的数量。

nBatchFlags

[in] 指定一个下列值的组合。

含义

FLAG_FIND_AROUND

移动到文本的开始/结束处。

FLAG_FIND_BOL

正则表达式 ‘^’ 可匹配选取部分的开头。

FLAG_FIND_BOOKMARK

在有匹配的字符串的行上设置书签。

FLAG_FIND_COUNT

计算匹配字符串的出现次数。

FLAG_FIND_COUNT_FREQUENCY

根据提取结果创建一个常用字符串表。必须与 FLAG_FIND_EXTRACT 和 FLAG_FIND_OUTPUT_DISPLAY 结合使用。必须启用窗口标签页。

FLAG_FIND_EMBEDDED_NL

在 CSV 文档中只匹配嵌入式换行,不匹配其他换行。

FLAG_FIND_EOL

正则表达式 ‘$’ 可匹配选取部分的末尾。

FLAG_FIND_EXTRACT

把匹配的行提取到一个新文档中。

FLAG_FIND_FUZZY

使用模糊匹配。

FLAG_FIND_LOOKAROUND

只在选区内进行正则表达式搜索时用前后断言。

FLAG_FIND_NEXT

从光标处往下搜索字符串。如果没有设置该标志,则往上搜索字符串。

FLAG_FIND_NO_PROMPT

即使未找到任何字符串,也禁止显示对话框。

FLAG_FIND_OPEN_DOC

在同一个框架窗口中搜索所有打开的文档。

FLAG_FIND_OUTPUT

在输出栏中以列表形式显示提取结果。 必须与 FLAG_FIND_EXTRACT 结合使用。

FLAG_FIND_REGEX_BOOST

把 Boost.Regex 作为正则表达式引擎。

FLAG_FIND_REGEX_ONIGMO

把 Onigmo 作为正则表达式引擎,Ruby 语法。

FLAG_FIND_REGEX_ONIGMO_PERL

使用 Onigmo 作为正则表达式引擎,Perl 语法。

FLAG_FIND_SAVE_HISTORY

为重复搜索保存搜索过的字符串。

FLAG_FIND_SEPARATE_CRLF

区分 CR 和 LF 。

FLAG_FIND_SEL_ONLY

仅在选区内搜索。

FLAG_REPLACE_ALL

替换所有匹配结果。

FLAG_REPLACE_SEL_ONLY

当与 FLAG_REPLACE_ALL 一起指定时,仅替换选区中的内容。

pnTotalCount

[out] 指定一个指向变量的指针,当 nBatchFlags 包含 FLAG_FIND_COUNT,FLAG_FIND_BOOKMARK,FLAG_FIND_SELECT_ALL,FLAG_FIND_EXTRACT 或 FLAG_FIND_FILTER 时,该变量将接收出现的次数。

返回值

如果找到了搜索的字符串,则返回 S_OK;如果找不到,则返回 S_FALSE。如果发生错误,返回值是负值。如果用户取消搜索,则负值包括 E_ABORT;如果发生严重错误,则负值包括E_FAIL。

版本

指定 Version 19.9 或之后的版本。