1

この正規表現は、改行で文字列をトリミングします。
両端のみをトリミングし、中央の改行を保持したいと思います。

string s("     Stack \n Overflow    ");
boost::regex expr("^[ \t]+|[ \t]+$");
std::string fmt("");
cout << boost::regex_replace(s, expr, fmt) << endl;
4

1 に答える 1

2

入力文字列の最初と最後で正規表現を一致させたい場合(中間の周りのスペースを保持したい\n場合)、 \Aおよび\zの代わりに、目的を満たしている可能性があります^。 例えば:$

boost::regex expr("\\A[ \t]+|[ \t]+\\z");
于 2011-05-19T20:08:01.163 に答える