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被管理员删除