regex is a regular expression toolkit for regex-base with:
- text-replacement operations with named captures;
- special datatypes for matches and captures;
- compile-time checking of RE syntax;
- a unified means of controlling case-sensitivity and multi-line options;
- high-level AWK-like tools for building text processing apps;
- the option of using match operators with reduced polymorphism on the text and/or result types;
- regular expression macros including:
- a number of useful RE macros;
- a test bench for testing and documenting new macro environments;
- built-in support for the TDFA and PCRE backends;
- comprehensive documentation and copious examples.
See the About page for details.
regex and regex-examples
The library and tutorial, tests and examples have been split across two packages:
regexpackage contains the regex library with the Posix TDFA back end
regex-with-pcrelibrary package contains the extra modules needed for the PCRE back end
regex-examplespackage contains the tutorial, tests and example programs.
☒ 2017-01-26 v0.0.0.1 Pre-release (I)
☒ 2017-01-30 v0.0.0.2 Pre-release (II)
☒ 2017-02-18 v0.1.0.0 Proposed core API with presentable Haddocks
☒ 2017-02-19 v0.2.0.0 Package split into regex and regex-examples
☒ 2017-02-20 v0.2.0.1 Remove library from regex-examples
☒ 2017-02-21 v0.2.0.2 Fix tests for Hackage
☒ 2017-02-21 v0.2.0.3 Tweak README/index layout
☒ 2017-02-22 v0.2.0.4 Repair re-gen-modules-test for Windows
☒ 2017-02-26 v0.3.0.0 API adjustments
☒ 2017-03-05 v0.5.0.0 Ready for review: API, tutorials and examples finalized
☒ 2017-03-13 v0.6.0.0 Split out PCRE
☒ 2017-03-13 v0.6.0.1 Fix .travis.yml release-stack script
☒ 2017-03-15 v0.7.0.0 Better organization of API
☒ 2017-03-16 v0.8.0.0 Tidy up the API
☐ 2017-03-31 v184.108.40.206 First stable release
☐ 2017-08-31 v220.127.116.11 Fast text replacement with benchmarks
See the Roadmap page for details.
The regex blog
Check out the regex blog for news articles and discussion concerning all things regex.
See build status page for details.
Installing the Package
The package can be easily installed with cabal or stack on GHC-8.0, 7.10 or 7.8 for the above platforms. See the Installation page for details.
The Tutorial Tests and Examples
If you have any feedback or suggestion then please drop us a line.
The Contact page has more details.
The Haddocks can be found at http://hs.regex.uk.
The Macro Tables
The macro environments are an important part of the package and are documented here.
The regex.uk Directory
A handy overview of the regex.uk domain can be found here.
changelog is posted here.
0.9.0.0 Chris Dornan <email@example.com> 2017-03-23
* Flip the order of the arguments to replace (#78)
* Add type-safe replacement templates (#60)
* Finish tidying up the API (#80)
* Make `regex` compatible w/ TH-less GHCs (#70)
* Declare extensions the compiler must support (#83)
* Fix curl for AppVeyor build (#79)
* Fix AppVeyor badge (#81)
* Remove QQ from code coverage stats (#82)
* Rename Options, Context and Replace methods (#84)
0.8.0.0 Chris Dornan <firstname.lastname@example.org> 2017-03-16
* Tidy up the API after recent reorganization (#76)
0.7.0.0 Chris Dornan <email@example.com> 2017-03-15
* Fix and extend Replace class (#74)
* Better package organisation (#73)
* Generalise sed' in progress (#72)
* compileRegex to take just a string (#68)
* Fix comment reference in Text.RE.PCRE in progress (#66)
0.6.0.1 Chris Dornan <firstname.lastname@example.org> 2017-03-13
* Fix .travis.yml release-stack script (#67)
0.6.0.0 Chris Dornan <email@example.com> 2017-03-13
* Split out rexex-with-pcre package (#65)
0.5.0.0 Chris Dornan <firstname.lastname@example.org> 2017-03-05
* Fix inter-operation of =~ & =~~ and named captures (#55)
* Add escaping functions (#37)
* Test Hackage release tarballs on Travis CI (#51)
* Fix up template replace ordinals (#52)
* Complete the web site (#39)
* Complete the Tutorial, Tests and Examples (#38)
* Complete narrative in literate modules (#8)
0.3.0.0 Chris Dornan <email@example.com> 2017-02-26
* Clean up API to use camelCase conventions
* Use -Werror in development and testing, -Warn for Hackage
* Integrate the regex blog
* Better presentation of ghci tryouts in the Tutorial
* Various minor README upgrades and fixes
0.2.0.4 Chris Dornan <firstname.lastname@example.org> 2017-02-22
* Repair re-gen-modules-test for Windows
0.2.0.3 Chris Dornan <email@example.com> 2017-02-21
* README/index layout tweak
0.2.0.2 Chris Dornan <firstname.lastname@example.org> 2017-02-21
* Fix re-gen-modules-test for Hackage (#45)
* Minor style tweks to README/index
0.2.0.1 Chris Dornan <email@example.com> 2017-02-20
* remove library from regex-examples (#43)
0.2.0.0 Chris Dornan <firstname.lastname@example.org> 2017-02-19
* Split off the tutorial tests and examples into regex-examples,
leaving just the library in regex
0.1.0.0 Chris Dornan <email@example.com> 2017-02-18
* Cabal file generated from a DRY template
* Library dependencies minimised, test depndencies moved into
* A proper static website generated by 're-prep all'
* README/sidebar Badges are a static record of current release
with links to a live build-status reporting on HEAD
* Added !$, !$?, !$$ and !$$? alternatives for looking up captures
in a Match
* Text.RE.Parsers now generate Text where they were generating String
* %nat, %int, %frac and %hex get their new names
0.0.0.2 Chris Dornan <firstname.lastname@example.org> 2017-01-30
* Fix for Windows
* Remove hsyslog dependency
* Establish Travis CI, AppVeyor and coveralls.io integrations
* Fix time parser to use Fixed arithmetic
* Miscelaneous minor adjustments
0.0.0.1 Chris Dornan <email@example.com> 2017-01-26
* First public release