Fixing matching bug exhibited by older PCRE versions.

Older versions of the PCRE appear not to allow repetitions/optionals on lookaheads (possibly
lookbehinds too, untested). This was resulting in the following error:

"preg_match(): Compilation failed: nothing to repeat at offset ##"

As the lookahead has to be optional (typically it won't match), there were a couple of possible
solutions:

1. Add an additional [* matching pattern where the lookahead is non-optional,
2. Make the grouping inside the lookahead optional.

The latter was opted for, as it appears to work sufficiently well, and does not make the lexing
definition any more complex than it already was.