There are three bodies of source code that can be referred to as "Henry Spencer's regular expression library".
Firstly the "old library" or the "book library". This dates back to around 1986 and was updated for the book Software Solutions In C, ed. Dale Schumacher, Academic Press, 1994 [ref: Usenet].
At zoo.toronto.edu, regexp.old.tar.Z.
At arglist.com, regexp.old.tar.Z (26302 bytes), regexp.old.zip (20914 bytes). These packages contain identical files.
The second is the "BSD library". This is a POSIX.2 compliant library that was included in 4.4BSD Unix. Spencer wrote that it was basically an alpha release, and pretty slow [ref: Usenet].
For more information on this library, see the README, WHATSNEW and COPYRIGHT files and two man pages regex(3) and regex(7).
At zoo.toronto.edu, regex.shar.
At arglist.com, regex.shar (160821 bytes), regex3.8a.tar.gz (47960 bytes), regex3.8a.zip (54422 bytes). These packages contain identical files.
I have also prepared a shared library version of the BSD library, using Autoconf etc., to allow installation as a system library in GNU/Linux or similar systems.
rxspencer-alpha3.8.g4.tar.gz (348474 bytes, 26 April 2008)
The third is the "Tcl library". This was added to Tcl version 8.1 and supports wide-character Unicode. Although Spencer intended to release this library as a standalone package [ref: Usenet], I don't think he ever got around to it. However, Thomas Lackner has produced a version of the files from Tcl 8.5a3 that compiles on BSD and Linux: see his hsre page.
At arglist.com, hsre-0.1.tgz (72894 bytes).