判断QString是否符合正则表达式,比如ABC_12345符合正则表达式,12345不符合
时间: 2024-09-28 07:00:21 浏览: 32
QT正则表达式示范RegularExpressionDemo.rar
在Qt中,你可以使用`QRegExp`类配合`QString`来进行正则表达式的匹配。以下是如何检查一个字符串是否符合给定的正则表达式的示例:
```cpp
#include <QObject>
#include <QString>
#include <QRegExp>
bool isMatch(const QString& input, const QString& pattern) {
QRegExp regex(pattern);
return regex.exactMatch(input);
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 测试案例
QString str1 = "ABC_12345";
QString str2 = "12345";
if (isMatch(str1, "[A-Za-z]+_[0-9]+")) {
qDebug() << "String " << str1 << " matches the pattern.";
} else {
qDebug() << "String " << str1 << " does not match the pattern.";
}
if (isMatch(str2, "[0-9]+")) {
qDebug() << "String " << str2 << " matches the pattern.";
} else {
qDebug() << "String " << str2 << " does not match the pattern.";
}
return app.exec();
}
```
在这个例子中,`isMatch()`函数接受一个输入字符串和一个正则表达式模式,然后创建一个`QRegExp`对象并调用其`exactMatch()`方法进行匹配。如果返回`true`,表示字符串符合正则表达式;否则,不符合。
阅读全文