pcre *pcre_compile(const char *pattern, int options, const char **errptr, int *erroffset, const unsigned char *tableptr);
This function compiles a regular expression into an internal form. Its arguments are:
pattern A zero-terminated string containing the regular expression to be compiled options Zero or more option bits errptr Where to put an error message erroffset Offset in pattern where error was found tableptr Pointer to character tables, or NULL to use the built-in default
The option bits are:
PCRE_ANCHORED Force pattern anchoring PCRE_CASELESS Do caseless matching PCRE_DOLLAR_ENDONLY $ not to match newline at end PCRE_DOTALL . matches anything including NL PCRE_EXTENDED Ignore whitespace and # comments PCRE_EXTRA PCRE extra features (not much use currently) PCRE_MULTILINE ^ and $ match newlines within data PCRE_NO_AUTO_CAPTURE Disable numbered capturing paren- theses (named ones available) PCRE_UNGREEDY Invert greediness of quantifiers PCRE_UTF8 Run in UTF-8 mode
PCRE must have been compiled with UTF-8 support when PCRE_UTF8 is used.
The yield of the function is a pointer to a private data structure that contains the compiled pattern, or NULL if an error was detected.
There is a complete description of the PCRE API in the pcreapi page.