$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: John Maddock (john_at_[hidden])
Date: 2007-01-25 11:58:58
Lynn Allan wrote:
> I want to use boost::regex 1.33.1 and vc7.1 on a WinXp-Sp2 computer to
> remove common words from a file. I'm encountering a problem which
> seems related to having two of the common words next to each other.
>
> std::string test(" in the beginning god created the heavens and the
> earth ");
> boost::regex reg;
> reg.assign("( and | can | did | the | in | a )");
> test = boost::regex_replace(test, reg, " ");
> cout << test << endl;
>
> The result is:
> " the beginning god created heavens the earth "
>
> Am I doing something wrong or leaving out a step? Seems like the above
> ought to work. It catches one of the occurrences of " the " between "
> created " and " heavens " but not those immediately after the " in "
> or " and ".
Check your whitespace in the expression: the first match is " in ", the
remaining text then starts "the beginning" which won't match " the " etc
etc.
Did you mean to turn on the x-modifier?
John.