QRegExp —— Qt中处理正则表达式的一个类
1.检验是否8位全是数字
QStringList cells=varHandle.split("|");
QString idPattern="^(\\d){8}$"; // 不能使用\d ,而是使用\\d
QRegExp idRx(idPattern);
idRx.exactMatch(cell) //返回true or false
2.处理带分割符的字符串( 形如:1=25.1,2=25.2 )
QStringList sensorDataList=multiData.split(","); //分割多个等号的表达式,形如:1=25.1,2=25.2
QString dataSplitPattern="(.*)=(.*)"; //匹配形如:1=25.1
QRegExp rx(dataSplitPattern);
int pos = -1;
foreach (QString eachSensorData, sensorDataList)
{
pos = eachSensorData.indexOf(rx);
if(pos>-1){
qDebug()<<rx.cap(1)<<rx.cap(2);
}
}