Я довольно новичок, чтобы увеличить библиотеку регулярных выражений. Следующий пример кода используется для проверки того, соответствует ли введенная дата формату YYYY-MM-DD
. Однако в регулярном выражении, похоже, есть ошибка. Он всегда возвращает false
. *C++ boost regex date error
- Я бегу консольного приложения на окнах.
* регулярное выражение было взято из here
bool regexValidate(string teststring)
{
boost::regex ex("^(20\\d{2})(\\d{2})(\\d{2})");
if (boost::regex_match(teststring, ex)) {
cout << "true";
return true;
}
else {
return false;
}
}
int main()
{
string teststr = "2016-05-15";
cout << teststr << " is ";
if (regexValidate(teststr)) {
cout << " valid!" << endl;
}
else {
cout << " invalid!" << endl;
}
system("PAUSE");
return 0;
}
Спасибо! работает штраф должен включать конец строки ($) – unprogram14