Добрый вечер. Неправильно работает регулярное выражение с файлом
#include <iostream>
#include <fstream>
#include <string>
#include <regex>
using namespace std;
int main(){
regex r1("(.* lecture.*)");
regex r2("(.* practice.*)");
regex r3("(.* laboratory practice.*)");
smatch base_match;
int lecture=0;
int prakt=0;
int lab=0;
string name= "rozklad.txt";
ifstream fin;
fin.open(name);
if(!fin.is_open()){
cout << "didint open ";
}
else {
string str;
while(!fin.eof()){
str="";
getline(fin, str);
cout<< str << endl;
if(regex_match(str, base_match, r1 )) {
lecture++;
}
if(regex_match(str, base_match, r2 )) {
prakt++;
}
if(regex_match(str, base_match, r3 )) {
lab++;
}
}
}
cout << "Количество лекций: " << lecture << "\n";
cout << "Количество практик: " << prakt << "\n";
cout << "Количество лабораторных: " << lab << "\n";
fin.close();
}
Дан файл с расписанием(лекии, практики и лабораторная работа). С помощью регулярного выражения нужно почитать кол-во лекций, практик и лабораторных. Этот код выдает мне неправильное кол-во лекций и практик.Помогите разобраться.
