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

Why doesn't this simple QRegExp match?

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

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 在这种情况下不匹配?

QRegExp 不支持像 +?

这样的非贪婪量词

您可以改用 [^,]+