Я хочу признать несколько строк в текстовом файле с помощью регулярных выражений, но алгоритм regex_match не соответствует ни одной строке, даже если я использую регулярное выражение покровителя («*»)алгоритм regex_match не соответствует в файле
string dirin = "/home/user/in.srt";
string dirout = "/home/user/out.srt";
ifstream in(dirin.c_str());
ofstream out(dirout.c_str());
string line;
// regex patron("(\\d{2}):(\\d{2}):(\\d{2}),(\\d{3})\\s-->\\s(\\d{2}):(\\d{2}):(\\d{2}),(\\d{3})");
regex patron(".*");
smatch m;
while (getline(in, line)) {
if (regex_match(line, m, patron)) {
out << "ok";
};
out << line;
}
in.close();
out.close();
Код всегда печатает строку строки в файле out.srt, но никогда не будет содержать строку «ok» внутри if (regex_match (line, m, patron)). я тестирую его следующими строками
00: 01: 00708 -> 00: 01: 01800
Ты смотришь на эту реку
00: 01: 02,977 -> 00: 01: 04,706
нежно течет.
00: 01: 06213 -> 00: 01: 08.238
Вы заметили, что листья
Предполагаем ли мы догадываться, что вы пытаетесь сопоставить? –
Я хочу совместить с прокомментированной строкой, но doen't соответствует любой строке –
@DiegoSilvera - не может воспроизвести: с вашим кодом, вся строка (тоже пустая) сгенерирует «ok» – max66