Boost logo

Boost Users :

From: John Maddock (john_maddock_at_[hidden])
Date: 2002-08-24 05:27:47


> 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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net