I'm using regexp from boost-1.28 and experience the following behavior. Consider the following (somewhat artificial) regexp pattern:
a{1}b
As I expected, that pattern is found in "ab" but not "aab".
To my suprise however, the same pattern *is* found in "aaab", "aaaaab", and any other string consisting of an odd number of "a"s followed by a "b". It is not found in strings consisting of an even number of "a"s followed by a "b". This seems odd (no pun intended).
I see the same sort of behavior with quantifiers other than "{1}" and where the quantified expression matches other single characters. (Oddly enough, the behavior changes when using a quantified expression that matches multiple characters. "(ab){1}c" is found in "abc", "ababc", "abababc", and any other string containing "abc".)
I can verify that - I'll try and get it fixed in the next version as it is a very definite bug :-( Thanks for reporting that one, John Maddock.