Regression: Valid regexp no longer matches specific strings
In libxml2-2.9.9, the regexp "( (a|bc{0,2})){0,2} d" does not match the string " b d":
$ ./testRegexp '( (a|bc{0,2})){0,2} d' ' b d'
Testing ( (a|bc{0,2})){0,2} d:
b d: Fail
(This is a minimal reproduction created from a much more complex actual use case.)
If the fix in https://git.gnome.org/browse/libxml2/commit/?id=34b3500 (which fixed other bugs that we have encountered, thanks for that) is backed out, the match works:
$ ./testRegexp '( (a|bc{0,2})){0,2} d' ' b d'
Testing ( (a|bc{0,2})){0,2} d:
b d: Ok
It would of course be desirable that the abovementioned fix is amended to eliminate the regression.