与其处理“行尾”,我只需用一行新行替换多行连续的新行:
#include <iostream>
#include <string>
#include <regex>
int main(int argc, char **argv) {
std::string s = "filler text\n\nfiller text";
std::regex reg("\n+");
std::cout << "Before:\n";
std::cout << s << "\nAfter:\n";
s = std::regex_replace(s, reg, "\n");
std::cout << '\n' << s << '\n';
}
结果如下:
Before:
filler text
filler text
After:
filler text
filler text