Pergunta

Como posso ignorar caso quando se usa pcre_compile e pcre_exec?

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

qual opção que eu uso e onde posso especificá-lo?

Foi útil?

Solução

Você precisa passar PCRE_CASELESS no segundo argumento para pcre_compile, como este:

pcre_compile(pattern, PCRE_CASELESS, ...

(Note que você está com vazamento de memória lá -. Você precisa pcre_free chamada no objeto retornado por pcre_compile)

Outras dicas

Você pode usar o sinalizador PCRE_CASELESS na pcre_compile.

Exemplo:

  pcre_compile(
    pattern,              /* the pattern */
    PCRE_CASELESS|PCRE_MULTILINE,                    /* default options */
    &error,               /* for error message */
    &erroffset,           /* for error offset */
    NULL);                /* use default character tables */
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top