Как сделать сопоставление с шаблоном по определенному десятичному шаблону
Я пытаюсь выполнить сопоставление с образцом в C++, где формат...
###.######## (example input would be 135.123551235)
Я пробовал следующий шаблон, но он не будет совпадать с данными, которые я ввел...
// get the points entered
getline(cin, x1ANDy1);
regex r("([0-9]+)\.([0-9]+)", regex_constants::basic);
if (regex_match(x1ANDy1, r))
{
cout << "Data has been entered properly.";
}
else
{
cout << "Data has been entered in the improper format, please re-enter your data.";
}
1 ответ
Решение
Этот шаблон будет "\d{3}.\ D {9}" для точных трехзначных точек (.) 9 цифр или "\ d {нижний предел, верхний предел}. \ D {нижний предел, верхний предел}", если вы хотите разрешить определенные цифры суммы. Или замените фигурные скобки на *, если вы не хотите их ограничивать.