QT正则表达式小例子

判断合法IP的QT正则表达式:

boolIsIPaddress(QStringip)

{

QRegExprx2("(//d+)(//.)(//d+)(//.)(//d+)(//.)(//d+)");

intpos=rx2.indexIn(ip);

if(pos>-1)

{

for(inti=0;i=255)

{

QMessageBox::information(this,tr("错误"),tr("IP地址错误"));

returnfalse;

}

}

if(rx2.cap(7).toInt()==0)

{

QMessageBox::information(this,tr("错误"),tr("IP地址错误"));

returnfalse;

}

if(rx2.cap(7).toInt()==0)

{

QMessageBox::information(this,tr("错误"),tr("IP地址错误"));

returnfalse;

}

}

else

{

QMessageBox::information(this,tr("错误"),tr("IP地址错误"));

returnfalse;

}

returntrue;

}

判断IP地址更简单的方式是:

QRegExprx2("^([1]?/d/d?|2[0-4]/d|25[0-5])/.([1]?/d/d?|2[0-4]/d|25[0-5])/.([1]?/d/d?|2[0-4]/d|25[0-5])/.([1]?/d/d?|2[0-4]/d|25[0-5])$")

if(!rx2.exactMatch(ip))

{

QMessageBox::information(this,tr("错误"),tr("ip地址错误"));

returnfalse;

}

returntrue;

判断文件名是否含有字母、数字、下划线之外的字符:

boolIsRightFilename(QStringfilename)

{

QRegExprx("[A-Za-z_0-9]+");

if(!rx.exactMatch(filename))

{

QMessageBox::information(this,tr("错误"),tr("文件名含有其他字符或中文字符"));

returnfalse;

}

returntrue;

}

相关推荐