Unix/Linux Go Back    

Plan 9 - man page for regexp (plan9 section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

REGEXP(2)										REGEXP(2)

       regcomp,  regcomplit,  regcompnl,  regexec,  regsub, rregexec, rregsub, regerror - regular

       #include <u.h>
       #include <libc.h>
       #include <regexp.h>

       Reprog  *regcomp(char *exp)

       Reprog  *regcomplit(char *exp)

       Reprog  *regcompnl(char *exp)

       int  regexec(Reprog *prog, char *string, Resub *match, int msize)

       void regsub(char *source, char *dest, Resub *match, int msize)

       int  rregexec(Reprog *prog, Rune *string, Resub *match, int msize)

       void rregsub(Rune *source, Rune *dest, Resub *match, int msize)

       void regerror(char *msg)

       Regcomp compiles a regular expression and returns a pointer to the generated  description.
       The  space is allocated by malloc(2) and may be released by free.  Regular expressions are
       exactly as in regexp(6).

       Regcomplit is like regcomp except that all characters are treated literally.  Regcompnl is
       like regcomp except that the .  metacharacter matches all characters, including newlines.

       Regexec	matches a null-terminated string against the compiled regular expression in prog.
       If it matches, regexec returns 1 and fills in the array match with character  pointers  to
       the  substrings	of  string  that  correspond  to the parenthesized subexpressions of exp:
       match[i].sp points to the beginning and match[i].ep points just beyond the end of the  ith
       substring.  (Subexpression i begins at the ith left parenthesis, counting from 1.)  Point-
       ers in match[0] pick out the substring that corresponds to the whole  regular  expression.
       Unused elements of match are filled with zeros.	Matches involving and are extended as far
       as possible.  The number of array elements in match is given by msize.  The  structure  of
       elements of match is:

	      typedef struct {
		      union {
			 char *sp;
			 Rune *rsp;
		      union {
			 char *ep;
			 Rune *rep;
	      } Resub;

       If  match[0].sp	is nonzero on entry, regexec starts matching at that point within string.
       If match[0].ep is nonzero on entry, the last character matched is the one  preceding  that

       Regsub places in dest a substitution instance of source in the context of the last regexec
       performed using match.  Each instance of \n, where n is a digit, is replaced by the string
       delimited  by  match[n].sp  and	match[n].ep.   Each instance of is replaced by the string
       delimited by match[0].sp and match[0].ep.

       Regerror, called whenever an error is detected in regcomp, regexec, or regsub, writes  the
       string msg on the standard error file and exits.  Regerror can be replaced to perform spe-
       cial error processing.

       Rregexec and rregsub are variants of regexec and regsub that use strings of Runes  instead
       of  strings of chars.  With these routines, the rsp and rep fields of the match array ele-
       ments should be used.



       Regcomp returns 0 for an illegal expression or other failure.  Regexec returns 0 if string
       is not matched.

       There is no way to specify or match a NUL character; NULs terminate patterns and strings.

Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 11:31 PM.