GREP_INFO_EX

用于 Editor_FindInFiles 宏Editor_ReplaceInFiles 宏 ( EE_FIND_IN_FILESW 消息EE_REPLACE_IN_FILESW 消息) 中。

typedef struct _GREP_INFOW {
	size_t cbSize;
	UINT nCP;
	UINT64 nFlags;
	LPCWSTR pszFind;
	LPCWSTR pszReplace;
	LPCWSTR pszPath;
	LPCWSTR pszBackupPath;
	LPCWSTR pszFilesToIgnore;
	UINT nLimit;
	UINT64 nTotalCount;
	HRESULT hr;
} GREP_INFOW;

字段

cbSize

指定 size_of(GREP_INFO_EX)。

nCP

指定打开一个文件的代码页。

CODEPAGE_ANSI

标准 ANSI

CODEPAGE_UNICODE

Unicode little endian

CODEPAGE_UNICODE_BIGENDIAN

Unicode big endian

CODEPAGE_UTF8

UTF-8

CODEPAGE_UTF7

UTF-7

CODEPAGE_932

日文 Shift JIS

CODEPAGE_JIS

日文 JIS

CODEPAGE_EUC

日文 EUC

CODEPAGE_AUTO_SJIS_JIS

从日文 Shift JIS 和 JIS 转换。

CODEPAGE_AUTO_SJIS_JIS_EUC

从 日文 Shift JIS、JIS、EUC 转换。

Others

你能通过系统使用的所有代码页。

CODEPAGE_DETECT_UNICODE

检测 Unicode。不能与另一个值合并。

CODEPAGE_DETECT_UTF8

检测 UTF-8。 不能与另一个值合并。

CODEPAGE_DETECT_CHARSET

检测 HTML/XML 字符集。不能与另一个值合并。

CODEPAGE_DETECT_ALL

检测所有代码页。可以与其他值合并。

nFlags

指定一个下列值的组合。

FLAG_FIND_CASE

区分大小写。

FLAG_FIND_COUNT_FREQUENCY

从查找结果中创建常用字符串列表。必须与 FLAG_FIND_OUTPUT_DISPLAY 同时使用。

FLAG_FIND_ESCAPE

使用转义符。不能与 FLAG_FIND_REG_EXP 同时使用。

FLAG_FIND_FUZZY

使用模糊匹配。

FLAG_FIND_IGNORE_FILES

忽略被 pszFilesToIgnore 指定的文件或文件夹。

FLAG_FIND_ONLY_WORD

匹配整个单词。

FLAG_FIND_RECURSIVE

在指定路径的子文件夹中搜索。

FLAG_FIND_REG_EXP

使用正则表达式。不能与 FLAG_FIND_ESCAPE 同时使用。

FLAG_FIND_REGEX_BOOST

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

FLAG_FIND_REGEX_ONIGMO

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

FLAG_FIND_REGEX_ONIGMO_PERL

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

FLAG_FIND_OPEN_DIRECT

直接打开包含指定字符串的文档。不能与 FLAG_FIND_OPEN_FILTER or FLAG_FIND_OUTPUT 同时使用。

FLAG_FIND_OPEN_FILTER

直接打开包含指定字符串的文档,并且把指定字符串设为筛选器。不能与 FLAG_FIND_OPEN_DIRECT 或 FLAG_FIND_OUTPUT 同时使用。

FLAG_FIND_OUTPUT

在输出栏列表中显示在文件中查找搜索结果。不能与 FLAG_FIND_OPEN_DIRECT 或 FLAG_FIND_OPEN_FILTER 同时使用。

FLAG_FIND_OUTPUT_ENCODING

将编码名称附加到文件名。

FLAG_FIND_SEPARATE_CRLF

区分 CR 和 LF。

FLAG_REPLACE_BACKUP

保存备份。不能与 FLAG_REPLACE_KEEP_OPEN 同时使用。

FLAG_REPLACE_KEEP_OPEN

保存修改的文件开启。不能与 eeReplaceBackup 同时使用。也不能与 FLAG_REPLACE_BACKUP 同时使用。

此外,您可以指定以下值之一。

FLAG_FIND_FILE_AND_MATCHED

搜索结果将显示文件名和匹配的字符串。

FLAG_FIND_FILE_LINE_AND_MATCHED

搜索结果将显示文件名,行号和匹配的字符串。

FLAG_FIND_FILENAMES_ONLY

搜索结果仅显示文件名,而包含搜索字符串的整行将不显示为结果。

FLAG_FIND_LINE_ONLY

搜索结果仅显示包含搜索字符串的整行。

FLAG_FIND_MATCHED_ONLY

搜索结果仅显示匹配的字符串。

pszFind

指定要搜索的字符串。

pszReplace

当在多个文件中替换时,指定要替换成的字符串。

pszPath

指定要搜索的路径。它能包括通配符例如 \* 和 ?。

pszBackupPath

当多个文件替换时,指定备份文件夹,如果 nFlags 包含 FLAG_REPLACE_BACKUP 的话。

pszFilesToIgnore

如果 nFlags 包含 FLAG_FIND_IGNORE_FILES,指定要忽略的文件或文件夹名称。它能包括通配符,例如 * 和 ?。要指定多个文件,请用分号来分隔文件。

nLimit

当匹配数达到此数字时,EmEditor 停止搜索文件。 如果指定 0,则 EmEditor 不会停止搜索文件。

nTotalCount

返回时,此字段将接收所有搜索的文件中匹配字符串出现的总数。如果不用于替换文件,则返回值为所有搜索的文件中包含匹配字符串的行总数。

hr

此字段将由结果值填充,其中负值表示错误。错误值包括以下值。

E_WRONG_NUM_FORMAT

检测到数字/IP 地址范围的格式不正确。

E_REGEX_UNKNOWN

正则表达式引擎中发生未知错误。

版本

支持 Version 15.7 或之后的版本。