使用c忽略libpcre中的大小写

时间:2009-10-27 17:54:13

标签: c pcre

使用pcre_compile和pcre_exec时如何忽略大小写?

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

我使用什么选项以及在哪里指定它?

2 个答案:

答案 0 :(得分:4)

您需要将第二个参数中的PCRE_CASELESS传递给pcre_compile,如下所示:

pcre_compile(pattern, PCRE_CASELESS, ...

(注意你在那里泄漏内存 - 你需要在pcre_free返回的对象上调用pcre_compile。)

答案 1 :(得分:3)

您可以在pcre_compile中使用PCRE_CASELESS标志。

示例:

  pcre_compile(
    pattern,              /* the pattern */
    PCRE_CASELESS|PCRE_MULTILINE,                    /* default options */
    &error,               /* for error message */
    &erroffset,           /* for error offset */
    NULL);                /* use default character tables */