xref: /minix3/tests/lib/libc/regex/README (revision 11be35a165022172ed3cea20f2b5df0307540b0e)
1*11be35a1SLionel Sambucregular expression test set
2*11be35a1SLionel SambucLines are at least three fields, separated by one or more tabs.  "" stands
3*11be35a1SLionel Sambucfor an empty field.  First field is an RE.  Second field is flags.  If
4*11be35a1SLionel SambucC flag given, regcomp() is expected to fail, and the third field is the
5*11be35a1SLionel Sambucerror name (minus the leading REG_).
6*11be35a1SLionel Sambuc
7*11be35a1SLionel SambucOtherwise it is expected to succeed, and the third field is the string to
8*11be35a1SLionel Sambuctry matching it against.  If there is no fourth field, the match is
9*11be35a1SLionel Sambucexpected to fail.  If there is a fourth field, it is the substring that
10*11be35a1SLionel Sambucthe RE is expected to match.  If there is a fifth field, it is a comma-
11*11be35a1SLionel Sambucseparated list of what the subexpressions should match, with - indicating
12*11be35a1SLionel Sambucno match for that one.  In both the fourth and fifth fields, a (sub)field
13*11be35a1SLionel Sambucstarting with @ indicates that the (sub)expression is expected to match
14*11be35a1SLionel Sambuca null string followed by the stuff after the @; this provides a way to
15*11be35a1SLionel Sambuctest where null strings match.  The character `N' in REs and strings
16*11be35a1SLionel Sambucis newline, `S' is space, `T' is tab, `Z' is NUL.
17*11be35a1SLionel Sambuc
18*11be35a1SLionel SambucThe full list of flags:
19*11be35a1SLionel Sambuc  -	placeholder, does nothing
20*11be35a1SLionel Sambuc  b	RE is a BRE, not an ERE
21*11be35a1SLionel Sambuc  &	try it as both an ERE and a BRE
22*11be35a1SLionel Sambuc  C	regcomp() error expected, third field is error name
23*11be35a1SLionel Sambuc  i	REG_ICASE
24*11be35a1SLionel Sambuc  m	("mundane") REG_NOSPEC
25*11be35a1SLionel Sambuc  s	REG_NOSUB (not really testable)
26*11be35a1SLionel Sambuc  n	REG_NEWLINE
27*11be35a1SLionel Sambuc  ^	REG_NOTBOL
28*11be35a1SLionel Sambuc  $	REG_NOTEOL
29*11be35a1SLionel Sambuc  #	REG_STARTEND (see below)
30*11be35a1SLionel Sambuc  p	REG_PEND
31*11be35a1SLionel Sambuc
32*11be35a1SLionel SambucFor REG_STARTEND, the start/end offsets are those of the substring
33*11be35a1SLionel Sambucenclosed in ().
34