Polecenie to przy użyciu wyr.reg. napisać program który sprawdza czy dany rok od 1584 bez górnego limitu, jest przestępny.
Co jest źle w moim kodzie, że spr. nie przyjmuje i samo wyrażenie nie chce zwrócić prawdy dla roku:np. 900404
.hpp
#pragma once
#include <boost/regex.hpp>
#include <string>
class LeapYearChecker
{
public:
LeapYearChecker();
bool match(std::string string_to_be_checked);
private:
boost::regex regular_expression_;
};
.cpp
#include "leap_year_checker.hpp"
LeapYearChecker::LeapYearChecker()
{
regular_expression_ = boost::regex("^(15(8[48]|9[26]))|((1[6-9]|[2-9]\\d)(0[48]|[13579][26]|[2468][048]))|(([2468][048]|16|3579[26])00)|([1-9]\\d*(([02468][048]|[13579][26])00|\\d\\d(0[48]|[13579][26]|[2468][048])))$");
}
bool LeapYearChecker::match(std::string string_to_be_checked);
{
return boost::regex_match(string_to_be_checked,regular_expression_);
}