qt 使用正则表达式时候出现的有关问题,求指点
qt 使用正则表达式时候出现的问题,求指点
在使用正则的时候,发现是不是Qt正则规则和其他语言的不一样?
需求如下:
待检字串:(23) P ((1) @)
期望出现的结果是(23) 和(1) 带括号
代码如下:
提示警告:
warning: unknown escape sequence: '\)' [enabled by default]
自然结果也是不对的了。。
真的很奇怪。
我使用一些其他正则测试软件,以及正则在线测试,都是可以获取期望的值。如下图:
请各位指教,在线等 非常感谢
------解决方案--------------------
QRegExp rx("\\([0-9]+\\)");
QString str = "(23) P ((1) @)";
int pos = 0;
while ((pos = rx.indexIn(str, pos)) != -1) {
//list << rx.cap(1);
qDebug() << rx.cap();
pos += rx.matchedLength();
}
这样可以
在使用正则的时候,发现是不是Qt正则规则和其他语言的不一样?
需求如下:
待检字串:(23) P ((1) @)
期望出现的结果是(23) 和(1) 带括号
代码如下:
QRegExp rx("\([0-9]+\)");
QString = "(23) P ((1) @)";
int pos = 0;
while ((pos = rx.indexIn(str, pos)) != -1) {
list << rx.cap(1);
pos += rx.matchedLength();
}
提示警告:
warning: unknown escape sequence: '\)' [enabled by default]
自然结果也是不对的了。。
真的很奇怪。
我使用一些其他正则测试软件,以及正则在线测试,都是可以获取期望的值。如下图:
请各位指教,在线等 非常感谢
正则表达式
qt
------解决方案--------------------
QRegExp rx("\\([0-9]+\\)");
QString str = "(23) P ((1) @)";
int pos = 0;
while ((pos = rx.indexIn(str, pos)) != -1) {
//list << rx.cap(1);
qDebug() << rx.cap();
pos += rx.matchedLength();
}
这样可以