C# проверить наличие в дом через регекс как?

  • Автор темы Автор темы Gfoblin
  • Дата начала Дата начала

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 724
Реакции
1 058
Баллы
113
Собственно регулярка (?<=style="overflow:\ visible;").*?(?=id="recaptcha-anchor")
Как понять есть по такой регулярке совпадение или нет?
 
C#:
Развернуть Свернуть Копировать
if (Regex.Match(instance.ActiveTab.MainDocument.GetDomText(true), "(?<=style=\"overflow: visible;\").*?(?=id=\"recaptcha-anchor\")").Value!="")
{return "Совпадение найдено";} else {return null;}
 
Последнее редактирование:
  • Спасибо
Реакции: Gfoblin
Проверить можно по Regex.IsMatch, но, думаю, так лучше будет:
C#:
Развернуть Свернуть Копировать
string text = instance.ActiveTab.DomText;
string pattern = "(?<=style=\"overflow: visible;\").*?(?=id=\"recaptcha-anchor\")";
Match match = Regex.Match(text, pattern);
if (!match.Success) return null;
return match.Value;
 
Последнее редактирование:
  • Спасибо
Реакции: samsonnn, sydoow и Gfoblin
Прошу помочь знатоков
не могу правильно составить патерн из за сложного синтаксиса , регулярка по которой надо найти все значения в DOM

C#:
Развернуть Свернуть Копировать
(?<=<div\ class="section"><a\ hrefattrs="st\.cmd=altGroupMain&amp;st\.groupId=).*?(?=&amp;)

Сделал вроде по аналогии , заэкранировал кавычки слешем , но зенка указывает на ошибку - Нераспознанная управляющая последовательность
 
Нераспознанная управляющая последовательность
Не вижу у Вас ни одной заэкранированной кавычки.
C#:
Развернуть Свернуть Копировать
(?<=<div class=\"section\"><a hrefattrs=\"st\\.cmd=altGroupMain&amp;st\\.groupId=).*?(?=&amp;)
 
  • Спасибо
Реакции: lzlmrf
Не вижу у Вас ни одной заэкранированной кавычки.
Спасибо, все получилось. Я привел не свой пример экранирования а просто текст с конструктора регулярок. Чтоб не запутать)
----------------------------------------------------------------
а можно узнать? непонятно почему из первоначальных данных <a\ hrefattrs - убран слеш ?
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)