Сопоставление подстановочных знаков
AcutWcMatch() функция позволяет приложениям сравнить строку с образцом подстановочных знаков. Это средство может использоваться при формировании набора выборов (в конъюнкции с acedSSGet ()) и при поиске расширенных данных примитива прикладным именем (в конъюнкции с acdbEntGetX ()).
AcutWcMatch () функция сравнивает отдельную строку с образцом, и возвращает RTNORM, если строка соответствует образцу, и RTERROR, если это делает нет.
Образцы подстановочных знаков подобны регулярным выражениям, используемым системой и прикладными программами. В образце, с алфавитными символами и цифры обращаются буквально; скобки могут использоваться, чтобы определить необязательные символы или диапазон символов или цифр; вопросительный знак (?) соответствует единственному символу и звездочка (*) соответствует последовательности символов; уверенный другие специальные символы имеют значения в пределах образца. Для полной таблицы символов, используемых в строках подстановочных знаков, см. описание acutWcMatch ().
В следующих примерах, строковая переменная вызвала matchme, был объявлен и инициализирован. Следующий запрос проверяет, начинается ли matchme с этих пяти символов “allof”.
if (acutWcMatch(matchme, "allof*") == RTNORM) {
.
.
.
}
Следующий запрос иллюстрирует использование скобок в образце. В этом случае, acutWcMatch () возвращает RTNORM, если matchme равняется “STR1”, “STR2”, “STR3”, или “STR8”.
if (acutWcMatch(matchme, "STR[1-38]") == RTNORM) {
.
.
.
}
Строка образца может определить множественные образцы, отделенные запятыми. Следующий запрос возвращает RTNORM, если matchme равняется “ABC”, если это начинается с “XYZ”, или если это заканчивается “123”.
if (acutWcMatch(matchme, "ABC,XYZ*,*123") == RTNORM) {
.
.
.
}
AcutWcMatchEx () функция подобна acutWcMatch (), но это имеет дополнительный параметр, чтобы позволить этому игнорировать регистр.
bool
acutWcMatchEx(
const char * string,
const char * pattern,
bool ignoreCase);