i have a trouble with regex_match function. when i try to match a string with a pattern like "(abc)*", and if the string beeng matched contains several subexpressions 'abc', regex_match returns only one match so that i can't iterate through all of them. so, it counts subexp's in the pattern, not in the string. why it happens (i use default flags for regex_match, which must perform what i expect)? and what is the solution to the problem (the one i found so far is to parse in 2 phases - once with regex_match to be sure that the whole string matched, and then to use regex_split. but i'd like to parse the string only once and obtain all the subexp's)?
What you are seeing is the way that all regex libs work - when a marked sub-expression is repeated you get the last repeat. You can BTW use regex_split for this with a shortened expression that matches what you want only once (it will then search through the string and spit out all occurrences). John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm