Регулярное выражение внутреннего html в С#

Итак, я пытаюсь извлечь определенные данные из innerhtml,

пример хтмл -

<list class="bla">
    <img src="http://www.example.com?id=1&number=1" src2="http://www.example.com?id=1&number=1">
</list>

сейчас я использую

foreach (Match m in Regex.Matches(innerHtml, @"id=(?<id>\d+)&amp;count=(?<count>\d+)"))

но это получит оба идентификатора и количество из обоих srcs, как я могу просто настроить таргетинг

src2=

за

id=&count=

вместо того, чтобы получить оба


person University Help    schedule 25.05.2018    source источник
comment
Попробуйте @"\ssrc2=""[^""]*?\bid=(?<id>\d+)&(?:amp;)?count=(?<count>\d+)"   -  person Wiktor Stribiżew    schedule 25.05.2018
comment
Что вы пытаетесь извлечь, как в trying to extract particular data?   -  person DebanjanB    schedule 25.05.2018
comment
@WiktorStribiżew не работал, но URL-адрес содержит другие случайные параметры и поддиректоры, пример = example.com/imgs/ranbdom/balabla/   -  person University Help    schedule 25.05.2018


Ответы (1)


Во-первых, верните значение целевого атрибута с помощью селена, пример можно найти как получить значение атрибута из ссылки href в селене

После того, как вы это сделаете, используйте следующий код:

string src2 = "http://www.example.com?id=1&number=1";
        Regex regex = new Regex("([0-9])");
        Match match = regex.Match(src2);
        if (match.Success)
        {
            Console.WriteLine(match.Groups[1]);
        }
        Console.ReadKey();

По сути, в группе 1 первое вхождение (идентификатор) числового значения группы 2 является вторым вхождением числового (числового) значения.

Дополнительные полезные ссылки: https://www.dotnetperls.com/regex-groups https://regex101.com/

person Mohammed Hossen    schedule 29.06.2018