سؤال

وكيف يمكنني تجاهل الحالة عند استخدام 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_free على الكائن إرجاعها بواسطة pcre_compile).

نصائح أخرى

ويمكنك استخدام العلم 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 */
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top