使用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_compile 返回的对象上调用 pcre_free 。)

其他提示

您可以使用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 */
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top