环境:QtCreator,功能:正则匹配正数、负数、浮点数
QString text="-10";
QString pattern("^(-?[0-9])|(-?\\d+)(\.\\d+)$"); //Qt匹配正数、负数、浮点数
QRegExp rx(pattern);
bool flag=rx.exactMatch(text.trimmed()); //trimmed() 去除字符串前后的空白字符
if(flag)
qDebug()<<text;
效果:
解释:
-? : 表示一个或者零个负号。?表示重复前面的字符0次或者1次
\d+:\d表示匹配一位数字,是转义的字符,+表示前面的\d(数字)重复一次或者多次
^ :表示限定字符串的开头
$ :限定字符串的结尾
\. :表示匹配小数点
\ :用来标记转义字符
| : 表示或