Regex: test group matching

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Regex: add a class for matching character classes

This will be used to match character classes (such as '[0-9a-f]'), but
it will also be used by the regular expression pattern parser to
determine whether a character is special.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Regex: Implement compiler for regular expression patterns

Originally, this developer wanted to (ab)use the PikeVM with a
hand-crafted program and an added "callback" opcode to parse the regular
expressions.

However, this turned out to be completely unnecessary: there are no
ambiguities in regular expression patterns, so there is no need to do
anything else than parse the pattern, one character at a time, into a
nested expression that then knows how to write itself into a program for
the PikeVM.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Regex: introduce debug mode

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Regex: implement ? and * operators

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Regex: Implement reluctant '?', '*' and '+'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
WIP: Regex: add support for character classes

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>