为什么这个简单的QRegExp不匹配?

时间:2015-11-24 23:02:19

标签: regex qt qregexp

很简单,这里的测试代码失败了。

QRegExp BASIC_FORMAT ("^\\s*(.+?)\\s*,\\s*(.+)\\s*$");
QString test = "Catherine the Great, Szczecin 2/5/1729 to Saint Petersburg 17/11/1796";

qDebug ("%i", BASIC_FORMAT .indexIn (test));

这打印-1,但如果我将字符串复制到像regex101.com这样的东西(当然我自己解决双反斜杠),那么它会按预期匹配。

为什么QRegExp在这种情况下不匹配?

1 个答案:

答案 0 :(得分:2)

QRegExp不支持像+?

这样的非贪婪量词

您可以使用[^,]+代替