Copyright (C) 2000-2012 |
Manpages REGCOMPSection: Linux Programmer's Manual (3)Updated: 1998-05-08 Index Return to Main Contents NAMEregcomp, regexec, regerror, regfree - POSIX regex functionsSYNOPSIS#include <sys/types.h>#include <regex.h>
POSIX REGEX COMPILINGregcomp is used to compile a regular expression into a form that is suitable for subsequent regexec searches.regcomp is supplied with preg, a pointer to a pattern buffer storage area; regex, a pointer to the null-terminated string and cflags, flags used to determine the type of compilation. All regular expression searching must be done via a compiled pattern buffer, thus regexec must always be supplied with the address of a regcomp initialised pattern buffer. cflags may be the bitwise-or of one or more of the following:
POSIX REGEX MATCHINGregexec is used to match a null-terminated string against the precompiled pattern buffer, preg. nmatch and pmatch are used to provide information regarding the location of any matches. eflags may be the bitwise-or of one or both of REG_NOTBOL and REG_NOTEOL which cause changes in matching behaviour described below.
BYTE OFFSETSUnless REG_NOSUB was set for the compilation of the pattern buffer, it is possible to obtain substring match addressing information. pmatch must be dimensioned to have at least nmatch elements. These are filled in by regexec with substring match addresses. Any unused structure elements will contain the value -1.The regmatch_t structure which is the type of pmatch is defined in regex.h.
Each rm_so element that is not -1 indicates the start offset of the next largest substring match within the string. The relative rm_eo element indicates the end offset of the match. POSIX ERROR REPORTINGregerror is used to turn the error codes that can be returned by both regcomp and regexec into error message strings.regerror is passed the error code, errcode, the pattern buffer, preg, a pointer to a character string buffer, errbuf, and the size of the string buffer, errbuf_size. It returns the size of the errbuf required to contain the null-terminated error message string. If both errbuf and errbuf_size are non-zero, errbuf is filled in with the first errbuf_size - 1 characters of the error message and a terminating null. POSIX PATTERN BUFFER FREEINGSupplying regfree with a precompiled pattern buffer, preg will free the memory allocated to the pattern buffer by the compiling process, regcomp.RETURN VALUEregcomp returns zero for a successful compilation or an error code for failure.regexec returns zero for a successful match or REG_NOMATCH for failure. ERRORSThe following errors can be returned by regcomp:
CONFORMING TOPOSIX.2SEE ALSOregex(7), GNU regex manual
Index
This document was created by man2html, using the manual pages. Time: 13:28:09 GMT, December 14, 2024 |