reg_assoc(3) LPC Library Functions reg_assoc(3) NAME reg_assoc() - A regular pattern substring extractor SYNOPSIS mixed *reg_assoc(string str, string *pat_arr, mixed *tok_arr, void | mixed def); DESCRIPTION reg_assoc takes a string and explodes it into substrings matching the regular expression pattern-strings given in pat_arr and associates them with tokens given in tok_arr. If def (default 0) is given, it is associated with a non-match. The return value is an array of two arrays, the 1st being an array of the form ({ non-match1, match1, non-match2, match2, ..., non-match n, match n, non-match n+1 }) and the 2nd holds the tokens corresponding to the matches in order ({ def, token corresponding to match1, ...., def, token corresponding to match n, def }). pat_arr and tok_arr must be of the same sizes, the ith ele- ment in tok_arr being the corresponding token to the ith element of pat_arr. pat_arr can only hold strings. If pat_arr (and hence tok_arr) has size 0 then the return value is simply ({ ({ str }), ({ def }) }). EXAMPLE #define STRING_PAT "\"(\\\\.|[^\\\"])*\"" #define NUM_PAT "[0-9]+" #define F_STRING 1 #define F_NUM 2 reg_assoc("Blah \"blah\" test 203 hhh j 308 \"bacdcd\b\"acb", ({ STRING_PAT, NUM_PAT }), ({ F_STRING, F_NUM }), "no-match") will return ({ ({ "Blah ", "\"blah\"", " test ", "203", " hhh j ", "308", " ", "\"bacdcd\b\"", "acb" }), ({ "no-match", F_STRING, "no-match", F_NUM, "no-match", F_NUM, "no-match", F_STRING, "no-match" }) }) MudOS Last change: 26 Dec 1994 1