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 或之后的版本。