正则表达式处理

QString SysUtils :: formatHexString ( const & hex )
{
    QString hexStr(hex);
 
QRegExprx"([0-9A-Fa-f]{1,2})"QStringListlist;
intpos=0while((.indexIn,pos))!=-1)        list<<.cap+=.matchedLength();
    }
return.join""void MainWindow::HandleText()
{
    disconnect(ui->SendtextEditSIGNAL(textChanged()),0)">thisSLOT(HandleText()));

QTextCursortextCursor=ui->SendtextEdit->textCursor();

intrecordPos=textCursor.position();//记录光标位置

QStringtxt=ui->SendtextEdit->toPlainText();//读取待处理字符串

QStringtmp=txt;

tmp=tmp.replace("","");//去掉待处理字符串空格

QStringhexStr=SysUtils::formatHexString(tmp);

ui->SendtextEdit->setText(hexStr);

if(recordPos>0)

{

QStringch=hexStr.mid(recordPos-1,1);

qDebug()<<ch;

if(ch=="")

recordPos++;

}

textCursor.setPosition(recordPos);

ui->SendtextEdit->setTextCursor(textCursor);

connect()));

}

转自:http://blog.csdn.net/liuguangzhou123/article/details/8294332


正则表达式匹配

    QRegExp rx("[\u4e00-\u9fa5]"); 匹配utf-8格式的汉字,这个可以匹配一个,多个可以加入 +或者*
    QString str("我....这是神马");
QStringList list;
int pos = 0;
while ((pos rx.indexIn(str, pos)) != -1) //从pos位置开始匹配
	{
        list << rx.cap(0);  //cap(0)是整个匹配的,cap(1)是第一个括号中匹配的 cap(2)是第二个括号中匹配的
        pos += rx.matchedLength(); 范围开始匹配的位置  // rx.exactMatch(str) 返回是否正确
     }
    qDebug() list;



int main(int argc,char *argv[])
{

QString str = "[(40,120),360x360]";
QRegExp rx("(\\d+)");
QStringList list ;
int pos = 0;
while ((pos = rx.indexIn(str,pos)) != -1) {
list << rx.cap(0);
pos += rx.matchedLength();
}
//这只是为了写成4个数的格式

int rectx = list.at(0).toInt();
int recty = list.at(1).toInt();
int rectw = list.at(2).toInt();
int recth = list.at(3).toInt();

}

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...