Fix rule 45 regex logic/compile error

The rule tries to capture `(all|distinc|[(]*)?` at the beginning which is not possible,
because you cannot match at least one occurence of a zero or more match.

Simple invalid vs. valid example: `([(]*)?` vs. `([(]*)`

This fixes issue #18. See my comment there for a more detailed explanation.