Как настроить игнорирование только букв в регулярных выражениях
У меня есть регулярное выражение:
std::regex rx{ R"((0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](\d\d)\d\d)" };
И есть такой код:
#include <iostream>
#include <string>
#include <regex>
int main()
{
std::regex rx{ R"((0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](\d\d)\d\d)" };
for (std::sregex_token_iterator ib{ str.begin(), str.end(), rx }, ie; ib != ie; ++ib)
{
std::cout << *ib << std::endl;
}
}
Код должен искать в строке выражение типа ДД.ММ.ГГГГ Как можно настроить код выше,чтобы игнорировались только буквы ?(Например,ТекстДД.ММ.ГГГГТекст,или ТекстДД.ММ.ГГГГ, или ДД.ММ.ГГГГТекст, а выводится только ДД.ММ.ГГГГ)
UPD. Пример ввода: а)вфвфвфвфвфвф18.10.2031вфвфвфвфвфвф б)фвфвфвфвфпп18.10.9999 в)24.11.9134вфвфвцвфвф
Пример вывода: а)18.10.2031 б)18.10.9999 в)24.11.9134