Russian Qt Forum
Ноябрь 23, 2024, 22:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QRegExp экранирование  (Прочитано 4038 раз)
ieroglif
Гость
« : Март 11, 2011, 02:28 »

мне надо заюзать много регулрок. по этому поводу написал себе банальный QRegExpChecker - окно для ввода обрабатываемого текста, строка для ввода регулярки, кнопка для запуска и окно для вывода результатов.
написал там длинный регексп, он работает.
#(\d+)[^\(]+\((\d+)\)[^\-]+\-\s(\d{2,5}\/\d{2,10})\s\-[^\-]+\-\s(.{8})\s[^\-]+\-\s(.{10})
вписываю его в код - не работает.
догадываюсь что проблема в экранировании, начинаю экранировать, получаю вот такое:
\\#(\\d+)[^\\(]+\\((\\d+)\\)[^\\-]+\\-\\s(\\d{2,5}\\/\\d{2,10})\\s\\-[^\\-]+\\-\\s(.{8})\\s[^\\-]+\\-\\s(.{10})
всё равно не работает - но начинают ловить rx.cap(1)
обижаюсь, вытаскиваю rx.pattern() - он полностью аналогичен разработанному - вставляю его в свой чекер - он там работает.
так в чём косяк?
Записан
sne
Гость
« Ответ #1 : Март 11, 2011, 09:26 »

одновременно с регуляркой неплохо бы давать и блок текста на котором он должен работать, не находишь)?
Записан
ieroglif
Гость
« Ответ #2 : Март 11, 2011, 10:56 »

одновременно с регуляркой неплохо бы давать и блок текста на котором он должен работать, не находишь)?
туплю, сори =)

Full Tilt Poker Game #28534297400: 250 Play Money Sit & Go (221921734), Table 1 - 15/30 - No Limit Hold'em - 00:29:05 ET - 2011/02/26

вытаскиваю подстроки выделенные жирным
Записан
ieroglif
Гость
« Ответ #3 : Март 13, 2011, 18:11 »

апну тему..
вопрос пока ещё не решился  Непонимающий
Записан
ieroglif
Гость
« Ответ #4 : Март 13, 2011, 21:28 »

извиняюсь за дистёрб Улыбающийся
всё решилось заменой
resultStringList << rx.cap(1)
на
resultStringList << rx.capturedTexts()
Улыбающийся
был готов уже ап стену биться Улыбающийся
Записан
fedotok
Гость
« Ответ #5 : Май 10, 2014, 14:41 »

Помогите не пойму как экранировать кавычку " , чтобы не ругалася QT
Хочу вытащить адреса ссылок, регулярка вот такая <a\\s+href\\s*=\\s*[^<>]*\\s*>[^<>]*</a>
а хочу ее преобразовать в такую <a\\s+href\\s*=\\s+"([^<>])"\\s*([^<>])\\s*>[^<>]*</a> чтобы вытащить сам url между " "

разобрался "<a\\s+href\\s*=\\s*\\\"([^<>])\\\"\\s*[^<>]*\\s*>[^<>]*</a>"
« Последнее редактирование: Май 10, 2014, 14:55 от fedotok » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.064 секунд. Запросов: 21.