Название: QRegExp выбрать строки в которых отсутствует слово. Отправлено: Privalov от Ноябрь 29, 2015, 19:00 Здравствуйте. Требуется помощь.
Есть xml файл, требуется выбрать строки не содержащие определенного слова. Использовал следующее выражение /<тэг(?!.*слово).*>(.*)</тэг>/. При тестировании на сайте https://regex101.com всё прекрасно работает, а в программе нет. Проверял так же в программе qregexp-editor. Не работает подобное выражение. Видимо это особенности синтаксиса qregexp. Может ли кто нибудь подсказать в чём проблема. Строки вида - "<тэг некоторые данные слово" данные>тут данные которые нужно забрать если в начальном тэге отсутствует слово</тэг>" Название: Re: QRegExp выбрать строки в которых отсутствует слово. Отправлено: Cirran от Декабрь 03, 2015, 17:15 Попробуйте вместо QRegExp использовать QRegularExpression, если Ваша версия Qt >= 5.0.
Цитировать Note: In Qt 5, the new QRegularExpression class provides a Perl compatible implementation of regular expressions and is recommended in place of QRegExp. Хотя, согласно ссылке https://bugreports.qt.io/browse/QTBUG-2371 (https://bugreports.qt.io/browse/QTBUG-2371)Цитировать Lookaheads (?=Expr) , (?!Expr) are supported by QRegExp in Qt, lookbacks (?<=Expr), (?<!Expr) aren't. Название: Re: QRegExp выбрать строки в которых отсутствует слово. Отправлено: Privalov от Декабрь 03, 2015, 17:22 Попробуйте вместо QRegExp использовать QRegularExpression, если Ваша версия Qt >= 5.0. Спасибо, буду пробовать. Потом отпишусь. |