Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Regex - пропарсить до первого вхождения, отриц.просмотр вперёд / 9 сообщений из 9, страница 1 из 1
24.08.2017, 16:57
    #39510050
mraklbrw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
Добрый день.
Надо пропарсить ссылки типа
<a href=http://site.com target='_blank' onClick="this.href='link/111222'">site.com</a>
Нужно выбрать отсюда site.com.
По некоторым причинам, сделать это надо с помощью Regex.

Написал так:
Код: c#
1.
2.
foreach (Match m in Regex.Matches(wcode, @"(href=)(.*?)( target)", RegexOptions.Singleline | RegexOptions.IgnoreCase))
                    links.Add(Convert.ToString(m.Groups[2]));



Но проблема в том, что бывает " после href=, такие ссылки надо не брать.

Возникла проблема - не могу правильно написать отрицательный просмотр вперёд для кавычек.
...
Рейтинг: 0 / 0
24.08.2017, 17:47
    #39510080
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
да тут вроде не нужен отрицательный просмотр, просто надо написать первый символ - не кавычка - во второй группе
...
Рейтинг: 0 / 0
24.08.2017, 18:48
    #39510107
mraklbrw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
Да вот вроде пробовал, что-то это не меняет дело.
...
Рейтинг: 0 / 0
24.08.2017, 19:05
    #39510112
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
Код: c#
1.
Regex.Matches("<a href=\"http://site.com target='_blank' onClick=\"this.href='link/111222'\">site.com</a>", @"(href=)([^""].*?)( target)")

Код: c#
1.
Regex.Matches("<a href=http://site.com target='_blank' onClick=\"this.href='link/111222'\">site.com</a>", @"(href=)([^""].*?)( target)")
...
Рейтинг: 0 / 0
24.08.2017, 21:46
    #39510162
Pu4koff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
может просто искать " href=" с пробелом в начале, типа:
Код: plaintext
1.
\shref=(\S+)
...
Рейтинг: 0 / 0
25.08.2017, 06:12
    #39510195
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
...
Рейтинг: 0 / 0
25.08.2017, 08:46
    #39510218
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
Сон Веры Павловны И опять
Ну автор же написал
mraklbrwПо некоторым причинам, сделать это надо с помощью Regex.Может у него набор входных данных вообще не html
...
Рейтинг: 0 / 0
25.08.2017, 09:11
    #39510226
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
а может причины - надуманы
...
Рейтинг: 0 / 0
25.08.2017, 18:41
    #39510738
mraklbrw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regex - пропарсить до первого вхождения, отриц.просмотр вперёд
Благодарю всех за помощь. Проблему решил.
P.S. Входные данные - не совсем html, htmlagilitypack не подходит в данном случае.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Regex - пропарсить до первого вхождения, отриц.просмотр вперёд / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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