Как сделать сопоставление с шаблоном по определенному десятичному шаблону

Я пытаюсь выполнить сопоставление с образцом в 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 {нижний предел, верхний предел}", если вы хотите разрешить определенные цифры суммы. Или замените фигурные скобки на *, если вы не хотите их ограничивать.

Другие вопросы по тегам