regex(5) regex(5)
NAME
regex.h - regular expression matching utilities
SYNOPSIS
#include <regex.h>
DESCRIPTION
The regex.h header defines the structures and symbolic
constants used by regcomp, regexec, regerror and regfree.
The structure type regex_t contains at least the following
member:
size_t re_nsub Number of parenthesized subexpressions.
The type regoff_t is defined as a signed arithmetic type that
can hold the largest value that can be stored in either a type
of off_t or ssize_t. The structure type regmatch_t contains
at least the following members:
regoff_t rm_so Byte offset from start of string to start of substring.
regoff_t rm_eo Byte offset from start of string of the first character
after the end of substring.
Values for cflags passed to regcomp:
REG_EXTENDED use extended regular expression.
REG__ICASE ignore case in match.
REG_NOSUB report only success or fail in regexec.
REG_NEWLINE change the handling of newline.
Values for eflags passed to regexec:
REG_NOTBOL The circumflex character (^), when taken as a
special character, will not match the beginning
of string.
REG_NOTEOL The dollar sign ($), when taken as a special
character, will not match the end of string.
The following constants are defined as error return values:
REG_NOMATCH regexec failed to match.
Copyright 1994 Novell, Inc. Page 1
regex(5) regex(5)
REG_BADPAT invalid regular expression.
REG_ECOLLATE invalid collating element referenced.
REG_ECTYPE invalid character class type referenced.
REG_EESCAPE Trailing \ in pattern.
REG_ESUBREG Number in \digit invalid or in error.
REG_EBRACK [] imbalance.
REG_EPAREN \(\) or () imbalance.
REG_EBRACE \{\} imbalance.
REG_BADBR Content of \{\} invalid: not a number, number
too large, more than two numbers, first larger
than second.
REG_ERANGE Invalid endpoint in range expression.
REG_ESPACE Out of memory.
REG_BADRPT ?, * or + not preceded by valid regular
expression.
REG_ENOSYS The implementation does not support the
function
The following are declared as functions and may also be
declared as macros:
extern int regcomp(regex_t *preg, const char *pattern, int cflags);
extern int regexec(const regex_t *preg, const char *string,
size_t nmatch, regmatch_t *pmatch, int eflags);
extern size_t regerror(int errcode, const regex_t *preg,
char *errbuf, size_t errbuf_size);
extern void regfree(regex_t *preg);
REFERENCES
regcomp(3C)
Copyright 1994 Novell, Inc. Page 2