powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему неправильно работает регулярное выражение
8 сообщений из 8, страница 1 из 1
Почему неправильно работает регулярное выражение
    #38699734
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал вот такое регулярное выражение для выделения атрибута src тега img:
(?<=<img\s+.*src\s*=\s*[""''])[^""'']+(?=[""''].*/>)")

Проверяю его вот здесь: http://sharpdev.ru/Regex/Sharp - показывает, что выражение составлено правильно. И действительно, выделяется содержимое нужного атрибута нужного тега, но в реале почему-то захватываются и атрибут src тега iframe. В чём может быть дело?
...
Рейтинг: 0 / 0
Почему неправильно работает регулярное выражение
    #38699743
gandjustas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxapet,

в жадности...
шаблон .* кушает любое количество любых символов. соответственно в разметке <img src=".."/><iframe src="..." /> вполне успешно матчится второй src.
...
Рейтинг: 0 / 0
Почему неправильно работает регулярное выражение
    #38699744
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в "жадном" квантификаторе, видимо.
обрабатываемую строку увидеть можно?
...
Рейтинг: 0 / 0
Почему неправильно работает регулярное выражение
    #38699853
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл статью, где говорится, что в общем случае нельзя парсить HTML регулярными выражениями - слишком он сложен для них.
...
Рейтинг: 0 / 0
Почему неправильно работает регулярное выражение
    #38699855
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходная строка такого, примерно, вида: <img src="img.png" /><hr class="articleHr"/><p class="articleChapter" id="p8">Видео-гайд<p class="articleParagraph"><iframe width="640" height="360" src="//www.youtube.com/embed/83NQk9rm_QA?feature=player_detailpage" frameborder="0" allowfullscreen></iframe>
Действительно, дело в "жадном" квантификаторе. Приведённый фрагмент обрабатывается корректно, но если после <ifame> есть ещё тег <img>, то шаблон не работает. А как-то можно указать, что нужно именно ближайшее вхождение />?
...
Рейтинг: 0 / 0
Почему неправильно работает регулярное выражение
    #38699905
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Почему неправильно работает регулярное выражение
    #38701233
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил задачу, используя методы string. Всем спасибо.
...
Рейтинг: 0 / 0
Почему неправильно работает регулярное выражение
    #38701247
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, прочитал статью, спасибо. Не помогло.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему неправильно работает регулярное выражение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]