Home | History | Annotate | Line # | Download | only in regex
      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 ().
     34