man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: July 2014
 
 

regex(3HEAD)

Name

regex.h, regex - regular expression matching types

Synopsis

#include <regex.h>

Description

The <regex.h> header defines the structures and symbolic constants used by the regcomp(), regexec(), regerror(), and regfree() functions. See regcomp(3C).

The structure type regex_t contains the following member:

size_t re_nsub     number of parenthesized subexpressions

The type size_t is defined as described in <sys/types.h>. See types.h(3HEAD).

The type regoff_t is defined as a signed integer type that can hold the largest value that can be stored in either a type off_t or type ssize_t. The structure type regmatch_t contains 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 the cflags parameter to the regcomp function are as follows:

REG_EXTENDED

use extended regular expressions

REG_ICASE

ignore case in match

REG_NOSUB

report only success or fail in regexec()

REG_NEWLINE

change the handling of NEWLINE character

Values for the eflags parameter to the regexec() function are as follows:

REG_NOTBOL

The circumflex character (^), when taken as a special character, does not match the beginning of string.

REG_NOTEOL

The dollar sign ($), when taken as a special character, does not match the end of string.

The following constants are defined as error return values:

REG_NOMATCH

regexec() failed to match.

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

Reserved.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
Standard

See also

regcomp(3C), types.h(3HEAD), attributes(5), standards(5)