|
|
HP-UX Reference > Rregcmp(3X)TO BE OBSOLETEDHP-UX 11i Version 2: December 2007 Update |
|
NAMEregcmp(), regex() — compile and execute regular expression SYNOPSIS#include <libgen.h> char *regcmp( const char *string1, /* string2, */ ... /*, (char *)0 */ ); char *regex(const char *re, const char *subject, ...); extern char *__loc1; RemarksThe ANSI C ", ... " construct denotes a variable length argument list whose optional [or required] members are given in the associated comment (/* */). Features documented in this manual entry are obsolescent and may be removed in a future HP-UX release. Use of regcomp(3C) instead is recommended. DESCRIPTIONregcmp() compiles a regular expression and returns a pointer to the compiled form. malloc(3C) is used to create space for the vector. It is the user's responsibility to free unneeded space so allocated. A NULL return from regcmp() indicates an incorrect argument. regex() executes a compiled pattern against the subject string. Additional arguments are passed to receive values back. regex() returns NULL on failure, or a pointer to the next unmatched character on success. A global character pointer __loc1 points to where the match began. regcmp() and regex() were largely borrowed from the editor, ed(1); however, the syntax and semantics have been changed slightly. The following are the valid symbols and their associated meanings:
Since all of the above defined symbols are special characters, they must be escaped to be used as themselves. EXAMPLESMatch a leading new-line in the subject string to which the cursor points. char *cursor, *newcursor, *ptr; ... newcursor = regex((ptr = regcmp("^\n", 0)), cursor); free(ptr); Match through the string Testing3 and return the address of the character after the last matched character (cursor+11). The string Testing3 will be copied to the character array ret0. char ret0[9]; char *newcursor, *name; ... name = regcmp("([A-Za-z][A-Za-z0-9_]{0,7})$0", 0); newcursor = regex(name, "123Testing321", ret0); |
|