игнорирование регистра в libpcre с помощью c
Вопрос
Как игнорировать регистр при использовании pcre_compile и pcre_exec?
pcre_exec(
pcre_compile(pattern,0,&error,&erroroffset,0),
0, string, strlen(string), 0, 0, ovector, sizeof(ovector));
какой вариант мне использовать и где его указать?
Решение
Вам нужно передать PCRE_CASELESS
во втором аргументе в pcre_compile
, например так:
pcre_compile(pattern, PCRE_CASELESS, ...
(обратите внимание, что вы теряете память - вам нужно вызвать pcre_free
для объекта, возвращенного pcre_compile
.)
Другие советы
Вы можете использовать PCRE_CASELESS
флаг в файле pcre_compile.
Пример:
pcre_compile(
pattern, /* the pattern */
PCRE_CASELESS|PCRE_MULTILINE, /* default options */
&error, /* for error message */
&erroffset, /* for error offset */
NULL); /* use default character tables */
Не связан с StackOverflow