Помощь с boost :: regex trim - PullRequest
1 голос
/ 19 мая 2011

Это регулярное выражение обрезает строку при переносе строки.
Я хочу, чтобы он обрезал оба конца только и сохранил все разрывы строк в середине.

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

1 Ответ

2 голосов
/ 20 мая 2011

Если вы хотите, чтобы регулярное выражение совпадало в начале и в конце входной строки (хотите сохранить пробелы между \n), \A и \z вместо ^ и$ может соответствовать цели.
Например:

boost::regex expr("\\A[ \t]+|[ \t]+\\z");
...