11.1Spgoyetteregular expression test set 21.1SpgoyetteLines are at least three fields, separated by one or more tabs. "" stands 31.1Spgoyettefor an empty field. First field is an RE. Second field is flags. If 41.1SpgoyetteC flag given, regcomp() is expected to fail, and the third field is the 51.1Spgoyetteerror name (minus the leading REG_). 61.1Spgoyette 71.1SpgoyetteOtherwise it is expected to succeed, and the third field is the string to 81.1Spgoyettetry matching it against. If there is no fourth field, the match is 91.1Spgoyetteexpected to fail. If there is a fourth field, it is the substring that 101.1Spgoyettethe RE is expected to match. If there is a fifth field, it is a comma- 111.1Spgoyetteseparated list of what the subexpressions should match, with - indicating 121.1Spgoyetteno match for that one. In both the fourth and fifth fields, a (sub)field 131.1Spgoyettestarting with @ indicates that the (sub)expression is expected to match 141.1Spgoyettea null string followed by the stuff after the @; this provides a way to 151.1Spgoyettetest where null strings match. The character `N' in REs and strings 161.1Spgoyetteis newline, `S' is space, `T' is tab, `Z' is NUL. 171.1Spgoyette 181.1SpgoyetteThe full list of flags: 191.1Spgoyette - placeholder, does nothing 201.1Spgoyette b RE is a BRE, not an ERE 211.1Spgoyette & try it as both an ERE and a BRE 221.1Spgoyette C regcomp() error expected, third field is error name 231.1Spgoyette i REG_ICASE 241.1Spgoyette m ("mundane") REG_NOSPEC 251.1Spgoyette s REG_NOSUB (not really testable) 261.1Spgoyette n REG_NEWLINE 271.1Spgoyette ^ REG_NOTBOL 281.1Spgoyette $ REG_NOTEOL 291.1Spgoyette # REG_STARTEND (see below) 301.1Spgoyette p REG_PEND 311.1Spgoyette 321.1SpgoyetteFor REG_STARTEND, the start/end offsets are those of the substring 331.1Spgoyetteenclosed in (). 34