Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
PCREPOSIX(3) | Library Functions Manual | PCREPOSIX(3) |
NAME
PCRE - Perl-compatible regular expressions.SYNOPSIS
#include <pcreposix.h>DESCRIPTION
This set of functions provides a POSIX-style API for the PCRE regular expression 8-bit library. See the pcreapi documentation for a description of PCRE's native API, which contains much additional functionality. There is no POSIX-style wrapper for PCRE's 16-bit and 32-bit library.COMPILING A PATTERN
The function regcomp() is called to compile a pattern into an internal form. The pattern is a C string terminated by a binary zero, and is passed in the argument pattern. The preg argument is a pointer to a regex_t structure that is used as a base for storing information about the compiled regular expression.REG_DOTALL
REG_ICASE
REG_NEWLINE
REG_NOSUB
REG_UCP
REG_UNGREEDY
REG_UTF8
MATCHING NEWLINE CHARACTERS
This area is not simple, because POSIX and Perl take different views of things. It is not possible to get PCRE to obey POSIX semantics, but then PCRE was never intended to be a POSIX engine. The following table lists the different possibilities for matching newline characters in PCRE:Default Change with
. matches newline no PCRE_DOTALL
newline matches [^a] yes not changeable
$ matches \n at end yes PCRE_DOLLARENDONLY
$ matches \n in middle no PCRE_MULTILINE
^ matches \n in middle no PCRE_MULTILINE
Default Change with
. matches newline yes REG_NEWLINE
newline matches [^a] yes REG_NEWLINE
$ matches \n at end no REG_NEWLINE
$ matches \n in middle no REG_NEWLINE
^ matches \n in middle no REG_NEWLINE
MATCHING A PATTERN
The function regexec() is called to match a compiled pattern preg against a given string, which is by default terminated by a zero byte (but see REG_STARTEND below), subject to the options in eflags. These can be:REG_NOTBOL
REG_NOTEMPTY
REG_NOTEOL
REG_STARTEND
ERROR MESSAGES
The regerror() function maps a non-zero errorcode from either regcomp() or regexec() to a printable message. If preg is not NULL, the error should have arisen from the use of that structure. A message terminated by a binary zero is placed in errbuf. The length of the message, including the zero, is limited to errbuf_size. The yield of the function is the size of buffer needed to hold the whole message.MEMORY USAGE
Compiling a regular expression causes memory to be allocated and associated with the preg structure. The function regfree() frees all such memory, after which preg may no longer be used as a compiled expression.09 January 2012 | PCRE 8.30 |