![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
ViGOur |
![]()
Сообщение
#1
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Есть код:
Если сделать rszData.replace( rszData, szTmp), то заменится вся строка и получится:Цитата "<li>[[how-to-learn-qt | Как изучать Qt]]</li><li>[[how-to-learn-qt | Как изучать Qt]]</li>" Разумеется это не правильно.Как правильно нужно менять в данном случае? Хехе, проблемы снята, все оказалось проще просто, в прочем как обычно. Нужно было просто получить анализируемый по данному паттерну текст: ну и заменить его:
p.s. это я делаю пробы преобразования qt документации в формат вики. ![]() Сообщение отредактировал Admin - 21.4.2008, 10:24 |
|
|
Tonal |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Вроде документашка Qt-шная в XHTML-е живёт.
А XHTML - это XML, значит обрабатывать его проще/лучше с помощью QtXml-я, а не regex-пов. К тому же этот regex не найдёт ссылки, если там будет ещё какой-нибудь атрибут кроме href-а. |
|
|
ViGOur |
![]()
Сообщение
#3
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Вроде документашка Qt-шная в XHTML-е живёт. ИМХО, проще regexp'ом, так как мне нужно всего навсего поменять a href, a name, и image, другие теги вроде дружатся. И будет проще потому выдирать из вики для передачи в ассистент в таком случае.А XHTML - это XML, значит обрабатывать его проще/лучше с помощью QtXml-я, а не regex-пов. Цитата К тому же этот regex не найдёт ссылки, если там будет ещё какой-нибудь атрибут кроме href-а. Я уже понял, переделал его. ![]() Цитата <a href=\"([^\"]*)\"[^<>]*>([^<]+)</a> Вот только не могу понять как его дописать, чтобы еще без кавычек href хватался. Не только такой <a href="how-to-learn-qt.html">Как изучать Qt</a> но и такой <a href=how-to-learn-qt.html>Как изучать Qt</a> Сообщение отредактировал ViGOur - 18.4.2008, 12:37 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Вот только не могу понять как его дописать, чтобы еще без кавычек href хватался. может вместо:
так написать:
точка означает что может и нуль раз, если я правильно регулярные выражения понял. я эксперементировал пару дней назад с тролевским примерчиком, такие строки обнаружить пытался:
вот такой шаблон подобрал:
--- но у меня небыло цели тэг анализировать! |
|
|
Tonal |
![]()
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Цитата К тому же этот regex не найдёт ссылки, если там будет ещё какой-нибудь атрибут кроме href-а. Я уже понял, переделал его. ![]() Цитата <a href=\"([^\"]*)\"[^<>]*>([^<]+)</a> Вот только не могу понять как его дописать, чтобы еще без кавычек href хватался. Не только такой <a href="how-to-learn-qt.html">Как изучать Qt</a> но и такой <a href=how-to-learn-qt.html>Как изучать Qt</a> Как то так (в перловом синтаксисе):
Только имей в виду, если внутри тега, в тексте, встретятся другие, например b - оно обломается... Как это обойти - сейчас лезть смотреть лениво. Сообщение отредактировал Tonal - 21.4.2008, 12:53 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.2.2025, 10:35 |