crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Символ # в QRegExp
Гость_Andrey_*
сообщение 5.2.2010, 22:39
Сообщение #1





Гости








    


Доброе время суток!

Коллеги, подскажите. Два дня бьюсь и бестолку.
Есть QTextEdit. В Нем HTML текст. В содержимом надо найти (выделить и удалить, а потом на это место вставить другой текст) текст начинася с "#2" и заканчивая "#3".
Поиск осуществляю как: QTextEdit::document()->find(regExp, 0);
Уж сколько я регулярок в свое время написал на php жуть, тут же что-то странное получается.
Первый вариант:
CODE
(\\#){1}2.+(\\#){1}

результата не дает.
в то время, как:
CODE
(\\#){1}2.+

возвращает все от #2 до конца содержимого QTextEdit.
Хорошо, # - символ комментария, задаю через Unicode:
CODE
(\\x23){1}2.+(\\x23){1}

результат аналогичен, как и в случае:
CODE
[#]{1}2.+[#]{1}


Если честно, я уже не представляю в чем может быть дело. В php никаких проблем с регулярками, включающими в себя # не было. А тут финиш какой-то.

Есть мысли как это победить?

Благодарю откликнувшихся за помощь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 5.2.2010, 22:46
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


#2.+#3
#2(.+)#3

        QRegExp rx( "#2(.+)#3" );
        int index = 0;
        while( (index = rx.indexIn( doc, index ) ) != -1 )
        {
                qDebug() << rx.cap( 0 ) << rx.cap( 1 );
        }


Сообщение отредактировал BRE - 5.2.2010, 22:50
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Andrey_*
сообщение 6.2.2010, 1:44
Сообщение #3





Гости








    


BRE, спасибо за ответ, но, наверное я не совсем точно поставил задачу. То, что регулярка которую я пишу должна работать согласно правилам PCRE я уверен, меня интересует почему document()->find ее не пропускает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 21:32