игнорирование регистра в libpcre с помощью c - PullRequest
1 голос
/ 27 октября 2009

Как игнорировать регистр при использовании pcre_compile и pcre_exec?

pcre_exec(
    pcre_compile(pattern,0,&error,&erroroffset,0),
    0, string, strlen(string), 0, 0, ovector, sizeof(ovector));

какую опцию мне использовать и где ее указать?

Ответы [ 2 ]

4 голосов
/ 27 октября 2009

Вам нужно передать PCRE_CASELESS во втором аргументе pcre_compile, например:

pcre_compile(pattern, PCRE_CASELESS, ...

(Обратите внимание, что вы теряете память - вам нужно вызвать pcre_free для объекта, возвращаемого pcre_compile.)

3 голосов
/ 27 октября 2009

Вы можете использовать флаг 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 */
...