这个让我找了半天,网上好多写的都是不靠谱的,看着很长一串,要么不对,要么有遗漏.让人抓狂.后来还是在StackOverflow上找到了好用的:
"^-?\\d*(\\.\\d+)?$"
Qt下使用如下:
QRegExp rx("-?\\d*(\\.\\d+)?$"); if(-1 == rx.indexIn(str.trimmed())) { qDebug() << "Not digit "; }
上述不支持千分位的写法.
some strings that matches with this:
894
923.21
76876876
.32
-894
-923.21
-76876876
-.32
some strings that doesn‘t:
hello
9bye
hello9bye
888,323
5,434.3
-8,336.09
87078.
参考文章:https://stackoverflow.com/questions/273141/regex-for-numbers-only
原文:https://www.cnblogs.com/Stephen-Qin/p/13708450.html