检查字符内容

#include <QCoreApplication>
#include<QDebug>
bool checkStatus(QString str);
bool isNumeric(const QString &str);
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QString x1="vout[::,::,::,1]";
    QString x2="vout[:,::,::,1]";
    QString x3="vout[1:,::,::,1]";
    QString x4="vout[x,::,::,1]";
    QString x5="vout[2,::,::,1]";
    qDebug()<<checkStatus(x1);
    qDebug()<<checkStatus(x2);
    qDebug()<<checkStatus(x3);
    qDebug()<<checkStatus(x4);
    qDebug()<<checkStatus(x5);
    return a.exec();
}
bool checkStatus(QString str)
{
    bool res=false;
    QRegExp regex("\\[([^\\]]+)\\]"); // 匹配方括号内的内容
    int pos = regex.indexIn(str);

    if (pos != -1) {
        QString result = regex.cap(1);

        QStringList f=result.split(",");

        for(int i=0;i<f.size()-1;i++){
            QString val=f.at(i);
            if(val=="::")
            {
                res=true;
                continue;
            }
            else if(val.size()==1 && isNumeric(val))
            {
                res=true;
                continue;
            }else
            {
                return false;
            }


        }
        // qDebug() << "Substring inside brackets: " << result;
    }
    return res;

}
bool isNumeric(const QString &str)
{
    QChar num = str.at(0);
    return num.isDigit();
}

#c++#
全部评论

相关推荐

投递大华股份等公司10个岗位
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务