Qt使用正则判断字符串是否只包含数字大小写字母与!(@#$%^&*()_+{}|:<>?,./;[]-~字符组成的
时间: 2024-10-16 08:03:02 浏览: 23
Qt笔记-正则表达基本使用(仅获取数字)
在Qt中,你可以使用`QRegularExpression`类来应用正则表达式进行字符串验证。如果你想检查一个字符串是否只包含数字、大小写字母以及一些特定的特殊字符,例如感叹号(!)、括号(()等,你可以创建一个正则表达式模式。下面是一个例子:
```cpp
#include <QRegularExpression>
#include <QString>
bool isValidString(const QString &input) {
QRegularExpression regex("[A-Za-z0-9!@#$%^&*()_+{}|\\:<>?.,\\/;-~]+");
return regex.match(input).hasMatch();
}
int main() {
QString testStr = "Hello123!@#$";
if (isValidString(testStr)) {
qDebug() << "字符串有效";
} else {
qDebug() << "字符串无效";
}
return 0;
}
```
在这个示例中,`"[A-Za-z0-9!@#$%^&*()_+{}|\\:<>?.,\\/;-~]+"`是一个正则表达式,表示允许的字符范围。函数`isValidString()`会返回`true`如果输入的字符串匹配这个模式,否则返回`false`。
阅读全文