'\n'などを含む文字列のパターンマッチ

C++標準の正規表現ライブラリにおいて、'.'は'\n'や'\t'などにマッチしません。
しかしBoost.Regexはデフォルトでは'.'にマッチするようになっています。

#include <iostream>
#include <regex>
#include <boost/regex.hpp>

int main(){
    std::string text = "ABC\nXYZ";

    std::smatch std_result;
    std::regex_search(text, std_result, std::regex("(.*)"));
    std::cout << "標準:\n" << std_result.str(1) << std::endl;

    boost::smatch boost_result;
    boost::regex_search(text, boost_result, boost::regex("(.*)"));
    std::cout << "Boost:\n" << boost_result.str(1) << std::endl;

    return 0;
}

Output:

標準:
ABC
Boost:
ABC
XYZ


".*"ではなく"[\\s\\S]*"とすれば、標準ライブラリでもマッチするかとやってみたのですが結果は同じでした。
あれ、それは正しい動作なんでしょうか…。