У меня есть RegEx, ниже которого находятся предопределенные теги html и их свойства, такие как src | href | action. Она содержит группы, которые синтаксический анализ строки, как этотRegEx с независимой группой
разобранные строки:
<a data-mydata href="myUrl"></a>
Извлеченные группы:
[0] {<a data-mydata href="myUrl">}
[1] {}
[2] {<a data-mydata href="}
[3] {myUrl}
[4] {">}
[5] {} //<- Empty result, the data-mydata is not read
RegEx:
(?<pre><(?:script|img|a|area|link|base|input|frame|iframe|form)\\b.*?(?:src|href|action)\\s*=\\s*[\"']\\s*)(?<url>.+?)(?<post>\\s*[\"'][^>]*?>)|(?<data>(data-mydata))
Проблема заключается в том, что я хочу, чтобы проверить атрибут data-mydata
но group 5
возвращение пустой результат {}
. data-mydata
атрибут является необязательным, но мне нужно знать, data-mydata
существует или нет.
Почему вы не используете HtmlAgilityPack для анализа HTML? Я бы сказал, что это будет намного проще. –
Это не мое решение, и я не могу его изменить, я должен использовать RegEx. – Tomas
С помощью HtmlAgilityPack вы можете собрать всю информацию о тегах и их атрибутах и проверить все, что вам нужно. Действительно, это быстрее и безопаснее N раз, чем при попытке с регулярным выражением. Должен ли я предложить решение на основе HtmlAgilityPack? –