Regenerate is a tool to generate test-cases for regular expression engines.

Regenerate takes a regular expression and generates strings that match it. It handles most posix extended regular expressions along with complement (~a) and intersection (a&b). See the help for details. Since it handles complement, it can also generate strings that don't match a given regular expression. Below, we generate both positive and negative examples for the language composed of the letter 'a' and 'b'. See our paper for details.

Regenerate is made with OCaml and a couple of cool OCaml libraries. The native tool and the library are available on opam. This page was made with the awesome js_of_ocaml compiler. The source code is available on github.


Which regular expressions?

You can use most posix extended regular expressions plus complement and intersection. More precisely:

Back references, character classes, anchoring and lookahead/lookbehind are not supported.

Fork Me On GitHub