QT中正则表达式的有关问题

QT中正则表达式的问题
"0|SUCCESS[9668/10000.00]|144|test02|0|0|100|zincy"
有上面这样一个字符串,我要找到其中144这个位置的数据


QString str;
QRegExp regx("(?<=\|)\d+(?=\|)");
int pos = regx.indexIn(lastid);
if (pos>=0)
{
str = regx.cap(0);
}


我用正则表达式测试器测试可以查到 144
但是在qt里面用这个却不行

我看了官方文档,说QT转义字符要加两个\\
然后我改成了
(?<=\\|)\\d+(?=\\|)

然而已经无法找到,请问我该如何查?
------解决思路----------------------
lastid.Split("
------解决思路----------------------
")[3]
------解决思路----------------------
QRegExp regx("(?<=\\
------解决思路----------------------
)\\d+(?=\\
------解决思路----------------------
)");

C里最基础的转义