qt实现0.100~90.00的正则表达式
时间: 2023-07-15 11:14:56 浏览: 115
Qt 正则表达式例程
5星 · 资源好评率100%
你可以使用QRegExp类来实现该正则表达式。
下面是一段示例代码:
```cpp
QRegExp rx("^([0-9]|[1-8][0-9]|90)(\\.\\d{1,2})?$");
QString str = "89.99";
if (rx.exactMatch(str)) {
qDebug() << "Matched";
} else {
qDebug() << "Not matched";
}
```
这个正则表达式可以匹配0.100到90.00之间的数字,包括整数和小数,小数点后最多两位。
解释一下正则表达式:
- `^`:匹配字符串的开始位置。
- `([0-9]|[1-8][0-9]|90)`:匹配0到90之间的整数。由于正则表达式中不支持范围表达式,所以需要列举每一个可能的整数,如0、1、2、...、9、10、11、...、89、90。
- `(\\.\\d{1,2})?`:匹配小数部分,包括小数点和最多两位数字,用问号表示可选。
- `$`:匹配字符串的结尾位置。
注意,在Qt中使用正则表达式时,需要将正则表达式的特殊字符进行转义,如点号"."需要写成"\\."。同时,使用exactMatch函数可以确保整个字符串与正则表达式完全匹配。
阅读全文