Помогите с регулярным выражением. |
Здравствуйте, гость ( Вход | Регистрация )
Помогите с регулярным выражением. |
Razerio |
25.1.2013, 22:55
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 16.1.2013 Пользователь №: 3677 Спасибо сказали: 1 раз(а) Репутация: 0 |
Никак не получается составит работающее регулярное выражение.
Есть примерный текст:
Из текста нужно вытащить все слова начинающиеся со звёздочки(*), кроме тех, что находятся между "<a" и "</a>". То есть в данном случаи должны найтись слова: *must *materials *distribution А остальные должны быть пропущены. Все слова найти довольно просто "[*]+[A-Za-z]+", но вот найти только те, которые вне HTML тегов незнаю как. P.S. Для работы с регулярками использую дефолтный QRegExp (Qt 4.8.4). |
|
|
Litkevich Yuriy |
26.1.2013, 3:45
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Iron Bug |
26.1.2013, 12:32
Сообщение
#3
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
кроме тех, что находятся между "<a" и "</a>". это кость в горле Регулярных выражений, с помощью них невозможно отслеживать "парные скобки", т.е. элементы играющие их рольвозможно, это кость в горле конкретной реализации. я спокойно распарсиваю такие выражения в boost, ANTLR, в обычном перле. в целом, у регекспов такого ограничения нет. это рекурсивные операции. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 7:58 |