
On 1/23/06, Sebastian Redl
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