Избегайте \ r при применении выражения QRegularExpression к предложению

Я извлек следующее предложение:

Очень важный момент. Это должно быть обсуждено на нашей следующей встрече.

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

ID: 1 x: 1202 y: 2453 w: 242 h: 459 wn: 13 ln: 12 c: Очень важный момент. Это должно быть обсуждено на нашей следующей встрече.

используя это QRegularExpression:

 regularExpression.setPattern("(?<=\\s)c:\\s?(.*)$");

Тем не менее, вывод:

Очень важный момент. Это должно быть обсуждено на нашей следующей встрече.

Наличие \ r вполне нормально, потому что строка, с которой я работаю, записана в текстовом файле (операционная система Windows 8.1).

Знаете ли вы, как извлечь предложение, не имея «\ r» в результирующем выводе? Я действительно понятия не имею,.

Спасибо большое за вашу помощь

1

Решение

Вы можете достичь этого, используя класс отрицанных персонажей [^\r\n]:

regularExpression.setPattern("(?<=\\s)c:\\s?([^\r\n]*)");
^^^^^^^^

[^\r\n]* подшаблон соответствует нулю или более символов, кроме \r а также \n,

2

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

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

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