参考文章:http://blog.csdn.net/wangduanqing5945/article/details/8570797
http://blog.csdn.net/small_qch/article/details/6914819
http://blog.csdn.net/shaochat/article/details/40857957
自己编写的QT实现代码:
1 //匹配中文字符 2 QString reg_PATTERN_STRING =QObject::tr("[\u4e00-\u9fa5]"); 3 ////QRegExp::cap的参数 4 int NTH = 0; 5 //正则表达式 6 QRegExp regExp; 7 //pos代表位置 8 //regcount代表匹配成功的次数 9 int pos, regcount; 10 pos = regcount = 0; 11 regExp.setPattern(reg_PATTERN_STRING); 12 //将匹配设置为最小(短)匹配 13 regExp.setMinimal(true); 14 15 QString txtStr=QObject::tr("qabcdefghmnb我是中国人"); 16 //开始匹配 17 while ((pos = regExp.indexIn(txtStr, pos)) != -1) 18 { 19 QString str = regExp.cap(NTH); 20 qDebug()<<str; 21 pos += regExp.matchedLength(); 22 regcount++; 23 } 24 //输出匹配成功的次数 25 qDebug()<<regcount; 26 //匹配的开始位置 27 int regStart = txtStr.indexOf(QRegExp(reg_PATTERN_STRING)); 28 qDebug()<<regStart;
现软件:
下载地址:http://files.cnblogs.com/files/dragonsuc/qtcheckcode.rar