Извлечь полное предложение, используя выражение QRegularExpression

В настоящее время я пытаюсь извлечь следующее предложение:

Это прямоугольник. Его высота 193, ширина 193 и число слов 12.

из следующей строки:

ID: 1 x: 1232 y: 2208 w: 193 h: 390 wn: 12 ln: 13 c: Это прямоугольник. Его высота 193, его ширина 193 и число слов 12!

Я должен сделать это с помощью QRegularExpressions. Поэтому мой код выглядит следующим образом:

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;

Тем не менее, это не работает вообще, и я не понимаю, почему (может быть, мое регулярное выражение не правильно). Я застрял в этой проблеме несколько дней назад.

Не могли бы вы мне помочь, пожалуйста ?

2

Решение

Используйте следующее регулярное выражение, чтобы разобрать все после с: и также удалить возможный пробел в начале строки:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]