FIND_REGEX_INFO_EX

用于 Editor_FindRegex 内联函数 ( EE_FIND_REGEX 消息)中。

typedef struct _FIND_REGEX_INFO_EX {
	size_t cbSize; // sizeof( FIND_REGEX_INFO_EX )
	UINT64 nFlags;
	LPCWSTR pszRegex;
	LPCWSTR pszText;
	LPCWSTR* ppszStart;
	LPCWSTR* ppszEnd;
	LPCWSTR* ppszNext;
	LPCWSTR pszReplace;
	LPWSTR pszResult;
	UINT cchResult;
} FIND_REGEX_INFO_EX;

成员

cbSize

[in] 以字节为单位的数据结构大小。在发送 EE_FIND_REGEX 消息之前,把这个构成设为 sizeof( FIND_REGEX_INFO_EX )。

nFlags

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

FLAG_FIND_CASE

区分大小写。

FLAG_FIND_FUZZY

此特殊标志使用模糊匹配,并禁用正则表达式。您不能将模糊匹配与正则表达式结合使用。即不能与 FLAG_FIND_REGEX_BOOST,FLAG_FIND_REGEX_ONIGMO,FLAG_FIND_REGEX_ONIGMO_PERL,或 FLAG_FIND_SEPARATE_CRLF 合用。

FLAG_FIND_ONLY_WORD

仅搜索单词。

FLAG_FIND_REGEX_BOOST

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

FLAG_FIND_REGEX_ONIGMO

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

FLAG_FIND_REGEX_ONIGMO_PERL

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

FLAG_FIND_SEPARATE_CRLF

区分 CR 和 LF 。

pszRegex

[in] 指定要搜索的正则表达式。

pszText

[in] 指定要搜索的字符串。

ppszStart

[out] 指针位于与正则表达式匹配的字符串的开始处。

ppszEnd

[out] 指针位于与正则表达式匹配的字符串的结尾处。

ppszNext

[out] 如果必要的话,指针位于下一个正则表达式搜索应当发生的位置。

pszReplace

[in] 指定一个替换表达式。

pszResult

[out] 指定一个指针指向要接收被替换的字符串的缓冲区。

cchResult

[in] 指定以字符为单位的缓冲区大小。

pszStartAt

[in] 指定搜索开始的起始位置。如果这个值是 NULL,搜索从字符串起始处开始 (pszText)。

nBackRefResult

[out] 返回储存在 BackRef 字段的向后引用的数目。

nBackRefBuf

[in] 这个字段应该是 MAX_BACK_REF 如果你想要接收向后引用,或 0 如果你不需要接收向后引用。

BackRef

[out] 返回向后引用。例如,BackRef[0] = \0, BackRef[1] = \1, BackRef[2] = \2, ..., BackRef[1000] = \k<1000>.

版本

支持 Version 15.7 或之后的版本。