assume a regex like
(a|(?:))(b|(?:))(a|(?:))$
valid results are "a,b,ab,aba". But in the case "a" there are two possible matches, one for the first group and one for the last. Boost regex and std regex will return only one result for input "a". Is there any way to get access to the other solutions also?