Qt正则表达式非零正整数
时间: 2025-02-14 10:11:18 浏览: 42
### Qt 正则表达式匹配非零正整数
在Qt中,可以使用多种方式来定义正则表达式以匹配非零正整数。以下是几种常见的模式:
- `^[1-9]\d*$` 表示从第一位开始必须是非零数字(1到9),后面跟随任意数量的十进制数字[^2]。
```cpp
QRegularExpression re("^[1-9]\\d*$");
QString str = "123";
if (re.match(str).hasMatch()) {
qDebug() << "Matched!";
}
```
- 另一种形式是 `^([1-9][0-9]*){1,3}$` ,这表明整个字符串由一至三位组成,首位不可为零,并且后续可跟任何数目但至少一位以上的其他十进制数字。
```cpp
QRegularExpression re("^([1-9][0-9]*){1,3}$");
QString str = "789";
if (re.match(str).hasMatch()) {
qDebug() << "Matched!";
}
```
- 还有一种更宽松的形式 `\+?[1-9][0-9]*$` 支持带有加号前缀的情况,同样首字符需介于1至9之间。
```cpp
QRegularExpression re("\\+?[1-9][0-9]*$");
QString str = "+456";
if (re.match(str).hasMatch()) {
qDebug() << "Matched!";
}
```
这些例子展示了如何利用Qt中的`QRegularExpression`类来进行非零正整数的验证操作。通过调整上述给出的不同格式化串,可以根据具体需求灵活运用。
阅读全文
相关推荐


















