Domanda

Come posso ignorare il caso quando uso pcre_compile e pcre_exec?

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

quale opzione devo usare e dove la specifica?

È stato utile?

Soluzione

Devi passare PCRE_CASELESS nel secondo argomento a pcre_compile , in questo modo:

pcre_compile(pattern, PCRE_CASELESS, ...

(Nota che stai perdendo memoria lì - devi chiamare pcre_free sull'oggetto restituito da pcre_compile .)

Altri suggerimenti

Puoi usare il flag PCRE_CASELESS in pcre_compile.

Esempio:

  pcre_compile(
    pattern,              /* the pattern */
    PCRE_CASELESS|PCRE_MULTILINE,                    /* default options */
    &error,               /* for error message */
    &erroffset,           /* for error offset */
    NULL);                /* use default character tables */
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top