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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 30.11.2024, 8:09