On 1/23/06, Sebastian Redl <sebastian.redl@getdesigned.at> wrote:
Alan Huang wrote:

> Hi,
>
> In boost document I saw that the '^' matches all the blank chars in
> the begin of line and the '$' matches all the blank chars in the end
> of line. Just like regex( "^abc$" ) can't match the string "   abc
> ". What's wrong?

You misunderstood. ^ doesn't match any characters, it simply fails if
it's not the start of the line. In other words, it says, "The expression
after me must match at the start of the line, not simply somewhere." $
does the same for the end of the line.
Therefore, "^cde" matches "cdefg", but not "abcde".

If the boost documentation really says that ^ and $ match any blank
chars, that's a bug and should be corrected.

Sebastian Redl
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users
 
Thank you Redl,
But I made a expirementation and found that "^cde" couldn't neither match "cdefg", nor "abcde",
On http://www.boost.org/libs/regex/doc/syntax_perl.html, there are these words:
 

Anchors:

A '^' character shall match the start of a line.

A '$' character shall match the end of a line.

I still can't understand it exactly, if "^cde$" only matches "cde", why we need to write the regex as "^ced$"?

--
Yours Sincerely,
Alan Huang