AT&T POSIX Test Files
See textregex.c for copyright + license.

testregex.c	http://www2.research.att.com/~gsf/testregex/testregex.c
basic.dat	http://www2.research.att.com/~gsf/testregex/basic.dat
nullsubexpr.dat	http://www2.research.att.com/~gsf/testregex/nullsubexpr.dat
repetition.dat	http://www2.research.att.com/~gsf/testregex/repetition.dat

The test data has been edited to reflect RE2/Go differences:
  * In a star of a possibly empty match like (a*)* matching x,
    the no match case runs the starred subexpression zero times,
    not once.  This is consistent with (a*)* matching a, which
    runs the starred subexpression one time, not twice.
  * The submatch choice is first match, not the POSIX rule.

Such changes are marked with 'RE2/Go'.


RE2 Test Files

re2-exhaustive.txt.bz2 and re2-search.txt are built by running
'make log' in the RE2 distribution https://github.com/google/re2/

The exhaustive file is compressed because it is huge.
