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