This section reads like it were (and pretty much is) lifted from POSIX. That's hard to read, because POSIX is horrendously verbose, as usual. Instead, synopsise it into something less formal but more reasonable, and describe the resulting range with a range instead of a paragraph. Signed-off-by: Ahelenia ZiemiaƄska --- man3/regex.3 | 53 +++++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/man3/regex.3 b/man3/regex.3 index b95b3c3b0..9f262f985 100644 --- a/man3/regex.3 +++ b/man3/regex.3 @@ -198,37 +198,34 @@ This flag is a BSD extension, not present in POSIX. .SS Byte offsets Unless .B REG_NOSUB -was set for the compilation of the pattern buffer, it is possible to -obtain match addressing information. -.I pmatch -must be dimensioned to have at least -.I nmatch -elements. -These are filled in by +was passed to +.BR regcomp (), +it is possible to +obtain the locations of matches within +.IR string : .BR regexec () -with substring match addresses. -The offsets of the subexpression starting at the -.IR i th -open parenthesis are stored in -.IR pmatch[i] . -The entire regular expression's match addresses are stored in -.IR pmatch[0] . -(Note that to return the offsets of -.I N -subexpression matches, +fills .I nmatch -must be at least -.IR N+1 .) -Any unused structure elements will contain the value \-1. +elements of +.I pmatch +with results: +.I pmatch[0] +corresponds to the entire match, +.I pmatch[1] +to the first expression, etc. +If there were more matches than +.IR nmatch , +they are discarded; +if fewer, +unused elements of +.I pmatch +are filled with +.BR \-1 s. .PP -Each -.I rm_so -element that is not \-1 indicates the start offset of the next largest -substring match within the string. -The relative -.I rm_eo -element indicates the end offset of the match, -which is the offset of the first character after the matching text. +Each returned valid +.RB (non- \-1 ) +match corresponds to the range +.RI [ string " + " rm_so ", " string " + " rm_eo ). .PP .I regoff_t is a signed integer type -- 2.30.2