使用QRegularExpression提取一个完整的句子

Extract a complete sentence using a QRegularExpression

本文关键字:一个 句子 QRegularExpression 提取 使用      更新时间:2023-10-16

我目前正在尝试提取以下句子:

这是一个矩形。它的高度是193,宽度是193,单词编号是12。

来自以下行:

ID:1 x:1232 y:2208 w:193 h:390 wn:12 ln:13 c:这是一个矩形。它的高度是193,宽度是193,单词编号是12!

我必须使用QRegularExpression来完成此操作。因此,我的代码如下:

regularExpression.setPattern("[c:](?:\s*)$");
QRegularExpressionMatch match = regularExpression.match("ID: 2 x: 845 y: 1633 w: 422 h: 491 wn: 78 ln: 12 c: qsdfgh");
if (match.hasMatch()) {
    QString id = match.captured(0);
    qDebug()<<"The annotation is:"<<id;
    return id;
}
return 0;

然而,它根本不起作用,我不明白为什么(也许我的正则表达式不正确)。我已经被这个问题困扰了好几天了。

你能帮我吗?

使用以下regex解析c:之后的所有内容,并从字符串开头删除可能的空白:

regularExpression.setPattern("c:s*(.*$)");