С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для crazyprog
5 / 6 / 3
Регистрация: 13.02.2016
Сообщений: 91

Исключение в регулярке

01.07.2016, 17:54. Показов 1129. Ответов 11

Студворк — интернет-сервис помощи студентам
Вот дана регулярка
C++
1
2
3
4
5
6
7
8
9
10
11
12
TRegExpr *re= new TRegExpr;
        re->InputString= Form1->Memo1->Lines->Text.Trim();
        re->Expression = "(betterT alf-link""" >(.*?)</a>)";
        re->Compile();   //ñêîìïåëèðîâàòü äåéñòâèå
        if(re->Exec(re->InputString))
        {
        do
        {
          Form1->Memo3->Lines->Add(Utf8ToAnsi(re->Match[2]));
        }
            while(re->ExecNext());
        }
Она хорошо работает, но бывает выдаёт такие значения
C++
1
2
<img src="http://cdn.seasonvar.ru/images/process-stop.png" alt=""
                             title="Íå äîñòóïåí äëÿ Âàøåé ñòðàíû" border="0" width="13">ß ðÿäîì
Как сделать, что бы не выдавало такие значения? Удалялись или вообще не отображались изначально
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2016, 17:54
Ответы с готовыми решениями:

По Регулярке
Привет Всем мне надо паристь из этого кода &lt;span class=&quot;mf_grey&quot;&gt;Родился: &lt;/span&gt;&lt;span class=&quot;mf_nobr&quot;&gt;13 декабря...

Исключения в регулярке
Есть регулярное выражение $pattern =...

вопрос по регулярке
хочу выкусить форму с хтмл страницы вот код Цитата: var form = Regex.Match(html, @&quot;&lt;form.*?&gt;.*?&lt;/form&gt;&quot;,...

11
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
01.07.2016, 18:14
Цитата Сообщение от crazyprog Посмотреть сообщение
но бывает выдаёт такие значения
И что это должно показать? То, что внутри тега <a> находится озвученное значение? Вот его и показывает. Запрети - не будет показывать. Для этого как минимум надо знать, какие вообще значения там в этом теге могут быть, а какие - нет. Пример исходного текста хотя бы с 10-ю разными тегами <a> (часть из которых должна показываться, а часть - нет) приведи. И желаемый вывод заодно.
0
 Аватар для crazyprog
5 / 6 / 3
Регистрация: 13.02.2016
Сообщений: 91
01.07.2016, 18:26  [ТС]
По этому тегу он нормально работает
class="betterT alf-link" >12 стульев (1976)</a></div><div class="betterT" id="div7472"><a id="a7472"
А по такому нет
class="betterT alf-link" ><img src="http://cdn.seasonvar.ru/images/process-stop.png" alt=""
title="Не доступен для Вашей страны" border="0" width="13">12 стульев (1971)</a></div><div class="betterT" id="div7471"><a id="a7471"

И вот 2-ой вариант мне нужно сделать как исключение
Миниатюры
Исключение в регулярке  
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
01.07.2016, 18:29
volvo, "исключения" он имеет веду если а строке имеется alt=""title= то пропускать строку из парсинга .
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
01.07.2016, 18:33
Напиши вот так: (betterT alf-link\" >([^<]*?)</a>)

Добавлено через 1 минуту
Будет тебе пропускать не просто при alt=, а при попытке открыть "<", то есть, только текст, никаких изображений и других тегов внутри <a>
1
 Аватар для crazyprog
5 / 6 / 3
Регистрация: 13.02.2016
Сообщений: 91
01.07.2016, 18:35  [ТС]
volvo, что-то всё по прежнему
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
01.07.2016, 18:37
Ничего не по прежнему. Нормально все работает, я нерабочих решений не выкладываю. Давай полный текст - покажу вывод. Только не надо код сюда копировать, тут парсер никак не допилят, он хавает слеши, как хочет. Файлом прилепи.
0
 Аватар для crazyprog
5 / 6 / 3
Регистрация: 13.02.2016
Сообщений: 91
01.07.2016, 18:43  [ТС]
volvo,
Вложения
Тип файла: rar 1.rar (427.1 Кб, 3 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
01.07.2016, 19:00
Лучший ответ Сообщение было отмечено crazyprog как решение

Решение

C++
1
re->Expression = "(betterT alf-link\\\" >([^<]*?)</a>)";
Миниатюры
Исключение в регулярке  
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
01.07.2016, 19:01
Лучший ответ Сообщение было отмечено crazyprog как решение

Решение

Я же тебе то же самое писал, только не синтаксисом С++, а синтаксисом регулярки. Всего-то надо было экранировать бэкслеш и саму кавычку...
1
 Аватар для crazyprog
5 / 6 / 3
Регистрация: 13.02.2016
Сообщений: 91
01.07.2016, 19:05  [ТС]
volvo, Спасибо огромное! Я просто думал, что
C++
1
"
обозначаются вот так """
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
01.07.2016, 19:17
volvo, а разве
Code
1
(betterT alf-link\\""\" >([^<]*?)</a>)
не тоже самое что
Code
1
"(betterT alf-link\\\" >([^<]*?)</a>)";
?

\ ("эскейп"-символ) - т.е экранируем в с++
и """ кавычка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2016, 19:17
Помогаю со студенческими работами здесь

Подскажите по регулярке
Здравствуйте. Проблема в том, что моя регулярка срабатывает на сайте https://regex101.com/ Но отказывается срабатывать в скрипте на...

Ошибка в регулярке
При вызове регулярки ошибка.Причем первый раз код выполняется а на второй ошибка. link = link.replace(/(&quot;)/g...

Ошибка в регулярке
preg_match_all(&quot;\&lt;td\&gt;\&lt;div\ class\=\&quot;cell\-1\&quot;\&gt;\&lt;a\ href\=\&quot;\&quot;\&gt;(.*)\&lt;\/a\&gt;\&lt;\/div\&gt;&quot;,$data,$mch); Помогите найти ошибку, регулярное...

Пробел в регулярке
Всем привет! Есть такой текст: &lt;div&gt; &lt;div&gt;Первый div&lt;/div&gt; &lt;div&gt;Текст&lt;/div&gt; &lt;div&gt;Текст&lt;/div&gt; &lt;div&gt;Текст&lt;/div&gt; ...

ошибка в регулярке
Здравствуйте! Есть некоторая неточность в моей регулярке. Суть такая - мне нужно из текста достать все строки вида: X, где X -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru