1
我是新来的正则表达式,我试图使用QRegExp中的lookahead断言功能来检查字符串的长度。这是一个很简单的例子:展望未来在QRegExp中工作吗?
int main(int argc, char* argv[])
{
QRegExp regexp("(?=^.{0,5}$)[0-9]*");
qDebug() << "result:" << regexp.exactMatch("12345");
return 1;
}
它打印: “结果:假”。
我测试了这个正则表达式和这个网页上的字符串:http://regexpal.com/,它显示匹配。
有什么想法?提前致谢。
提供更多信息 – NAZIK 2013-02-13 09:03:21
我的RegExp知识是该死的糟糕,但我注意到在文档中有2个与“贪婪量词”相关的RegExp模式语法版本。您的测试是否适用于此?文档:http://qt-project.org/doc/qt-4.8/qregexp.html#greedy-quantifiers – cmannett85 2013-02-13 13:29:03
你的正则表达式很好,但是一些正则表达式引擎不能用于可变长度的lookaround断言。 QRegExp可能就是其中之一。 – 2013-02-24 10:25:06