当前位置: 代码迷 >> QT开发 >> QT正则表达式 bug? 求解答解决方法
  详细解决方案

QT正则表达式 bug? 求解答解决方法

热度:99   发布时间:2016-04-25 04:06:00.0
QT正则表达式 bug? 求解答
本帖最后由 oXiFangShiBai 于 2013-02-23 05:29:48 编辑
小弟做一段正则匹配, 使用专业的正则工具【regex match tracer】匹配测试成功
然后就往QT代码里弄

要匹配的字符串如下:

aaa.dd[1555521]([{"cac":155554},[{fdsfdsffffff


我的QT代码如下:

str=ui->textEdit->toPlainText();//放的 要匹配的字符串
  QRegExp reg1("aaa\.dd\[(\d+)\]\(\[\{\"cac\":(\d+)\},\[");
 int pos= str.indexOf(reg1);
  qDebug()<<pos;
  if ( pos >= 0 )
  {
      qDebug() << reg1.matchedLength();     
                                         
      qDebug() << reg1.capturedTexts();
  }


上面这个代码 测试,匹配失败

于是我就修改了下,修改后代码如下:

str=ui->textEdit->toPlainText();//放的 要匹配的字符串
  QRegExp reg1(ui->textEdit_2->toPlainText());//textEdit_2装表达式aaa\.dd\[(\d+)\]\(\[\{\"cac\":(\d+)\},\[
 int pos= str.indexOf(reg1);
  qDebug()<<pos;
  if ( pos >= 0 )
  {
      qDebug() << reg1.matchedLength();     
                                         
      qDebug() << reg1.capturedTexts();
  }

然后 这样测试就成功了
仅仅是把正则表达式放在了一个textedit里,这是为什么呢

希望大家给意见,并给出解决办法,本人 QT5.01 WIN7 32

期待大家的答案
正则表达式 qt regex

------解决方案--------------------
该回复于2013-02-23 16:24:08被管理员删除
  相关解决方案