]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/netbsd-tests/lib/libc/regex/README
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / netbsd-tests / lib / libc / regex / README
1 regular expression test set
2 Lines are at least three fields, separated by one or more tabs.  "" stands
3 for an empty field.  First field is an RE.  Second field is flags.  If
4 C flag given, regcomp() is expected to fail, and the third field is the
5 error name (minus the leading REG_).
6
7 Otherwise it is expected to succeed, and the third field is the string to
8 try matching it against.  If there is no fourth field, the match is
9 expected to fail.  If there is a fourth field, it is the substring that
10 the RE is expected to match.  If there is a fifth field, it is a comma-
11 separated list of what the subexpressions should match, with - indicating
12 no match for that one.  In both the fourth and fifth fields, a (sub)field
13 starting with @ indicates that the (sub)expression is expected to match
14 a null string followed by the stuff after the @; this provides a way to
15 test where null strings match.  The character `N' in REs and strings
16 is newline, `S' is space, `T' is tab, `Z' is NUL.
17
18 The full list of flags:
19   -     placeholder, does nothing
20   b     RE is a BRE, not an ERE
21   &     try it as both an ERE and a BRE
22   C     regcomp() error expected, third field is error name
23   i     REG_ICASE
24   m     ("mundane") REG_NOSPEC
25   s     REG_NOSUB (not really testable)
26   n     REG_NEWLINE
27   ^     REG_NOTBOL
28   $     REG_NOTEOL
29   #     REG_STARTEND (see below)
30   p     REG_PEND
31
32 For REG_STARTEND, the start/end offsets are those of the substring
33 enclosed in ().