0

What is the right regular expression to identify a floating point number such that only the decimal point and one number is required.

re = QRegExp("[-+]?[0-9]*\\.[0-9]+");
if (re.exactMatch(s))
    std::cout<< "Double"<<std::endl;

This code identifies 3.1 and .1 as double but not 3.. The trouble is, that if I make the second number block optional (replacing + with a *) then . would also be a double. How can I fix that?

I use Qts regular expression library, but I guess std::regex would work the same.

dani
  • 3,677
  • 4
  • 26
  • 60

0 Answers0