re_comp or re_exec Subroutine
Purpose
Regular expression handler.
Library
Standard C Library (libc.a)
Syntax
const char *String;
int re_exec(String)
const char *String;
Description
The re_comp subroutine compiles a string into an internal form suitable for pattern matching. The re_exec subroutine checks the argument string against the last string passed to the re_comp subroutine.
The re_comp subroutine returns 0 if the string pointed to by the String parameter was compiled successfully; otherwise a string containing an error message is returned. If the re_comp subroutine is passed 0 or a null string, it returns without changing the currently compiled regular expression.
The re_exec subroutine returns 1 if the string pointed to by the String parameter matches the last compiled regular expression, 0 if the string pointed to by the String parameter failed to match the last compiled regular expression, and -1 if the compiled regular expression was invalid (indicating an internal error).
The strings passed to both re_comp and re_exec subroutines may have trailing or embedded newline characters; they are terminated by nulls. The regular expressions recognized are described in the manual entry for the ed command, given the above difference.
Parameters
Item | Description |
---|---|
String | Points to a string that is to be matched or compiled. |
Return Values
If an error occurs, the re_exec subroutine returns a -1, while the re_comp subroutine returns one of the following strings:
- No previous regular expression
- Regular expression too long
- unmatched \(
- missing ]
- too many \(\) pairs
- unmatched \)