Регулярные выражения, замена текущего патерна, не могу понять как это сделать |
Здравствуйте, гость ( Вход | Регистрация )
Регулярные выражения, замена текущего патерна, не могу понять как это сделать |
ViGOur |
18.4.2008, 11:02
Сообщение
#1
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Есть код:
Если сделать 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 |
18.4.2008, 12:11
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Вроде документашка Qt-шная в XHTML-е живёт.
А XHTML - это XML, значит обрабатывать его проще/лучше с помощью QtXml-я, а не regex-пов. К тому же этот regex не найдёт ссылки, если там будет ещё какой-нибудь атрибут кроме href-а. |
|
|
ViGOur |
18.4.2008, 12:32
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Цитата Вроде документашка 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 |
18.4.2008, 15:50
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Цитата Вот только не могу понять как его дописать, чтобы еще без кавычек href хватался. может вместо:
так написать:
точка означает что может и нуль раз, если я правильно регулярные выражения понял. я эксперементировал пару дней назад с тролевским примерчиком, такие строки обнаружить пытался:
вот такой шаблон подобрал:
--- но у меня небыло цели тэг анализировать! |
|
|
Tonal |
21.4.2008, 12:28
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Цитата К тому же этот 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 |
|
|
Текстовая версия | Сейчас: 29.11.2024, 7:45 |