помощь с регуляркой

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Подскажите, как можно вытащить текст с помощью регулярных выражений, все сильно упрощаю.
Хожу по страницам, один и тот же элемент находится в чуть разных дивах, спанах и тд... ниже пример 3 страниц, мне нужно достать текст1, текст2 и тд
C#:
1. <div class="ProfileHeader__headerInfoColumn_KdI27" data-qa-file="ProfileHeader">"Текст1"<div class="ProfileHeader__nickname_kfeeq"...
2. <div class="ProfileHeader__headerInfoColumn_tXI84" data-qa-file="ProfileHeader">"Текст2"<div class="ProfileHeader__nickname_kf65q"...
3. <div class="ProfileHeader__headerInfoColumn_ecT46" data-qa-file="ProfileHeader">"Текст3"<div class="ProfileHeader__nickname_kdseq"...
ProfileHeader__headerInfoColumn_ecT46" - вот тут как нидь бы заменить символы тип такого ProfileHeader__headerInfoColumn_?????... и тут "ProfileHeader__nickname_kdseq" в конце аналогично...
Прощу помощи, как победить это...
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
Подскажите, как можно вытащить текст с помощью регулярных выражений, все сильно упрощаю.
Хожу по страницам, один и тот же элемент находится в чуть разных дивах, спанах и тд... ниже пример 3 страниц, мне нужно достать текст1, текст2 и тд
C#:
1. <div class="ProfileHeader__headerInfoColumn_KdI27" data-qa-file="ProfileHeader">"Текст1"<div class="ProfileHeader__nickname_kfeeq"...
2. <div class="ProfileHeader__headerInfoColumn_tXI84" data-qa-file="ProfileHeader">"Текст2"<div class="ProfileHeader__nickname_kf65q"...
3. <div class="ProfileHeader__headerInfoColumn_ecT46" data-qa-file="ProfileHeader">"Текст3"<div class="ProfileHeader__nickname_kdseq"...
ProfileHeader__headerInfoColumn_ecT46" - вот тут как нидь бы заменить символы тип такого ProfileHeader__headerInfoColumn_?????... и тут "ProfileHeader__nickname_kdseq" в конце аналогично...
Прощу помощи, как победить это...
xpath
//div[@data-qa-file="ProfileHeader"]
атрибут
innertext
кубик - Парсить страницу

Regex1
(?<=data-qa-file="ProfileHeader">).*(?=<div\ class="ProfileHeader)
88443



HTML
1. <div class="ProfileHeader__nickname_kfeeq">"Текст1"<div class="ProfileHeader__nickname_kfeeq"...
2. <div class="ProfileHeader__nickname_kf65q">"Текст2"<div class="ProfileHeader__nickname_kf65q"...
3. <div class="ProfileHeader__nickname_kdseq">"Текст3"<div class="ProfileHeader__nickname_kdseq"...
Regex2
(?<=ProfileHeader__nickname_\w+">).*(?=<div\ class="ProfileHeader)
Regex3
(?<=ProfileHeader__nickname_.*">).*(?=<div\ class="ProfileHeader)

HTML
1. <div class="ProfileHeader__nickname_kfeeq">"Текст1"<div class="ProfileHeader__nickname_kfeeq"...
2. <div class="ProfileHeader__nickname_kf65q">"Текст2"<div class="ProfileHeader__nickname_kf65q"...
3. <div class="ProfileHeader__nickname_kdseq">"Текст3"<div class="ProfileHeader__nickname_kdseq"...
1. <div class="ProfileHeader__headerInfoColumn_ec14T46">"Текст1"<div class="ProfileHeader__nickname_kfeeq"...
2. <div class="ProfileHeader__headerInfoColumn_ec3T46">"Текст2"<div class="ProfileHeader__nickname_kf65q"...
3. <div class="ProfileHeader__headerInfoColumn_ec41y6T46">"Текст3"<div class="ProfileHeader__nickname_kdseq"...
Regex4
(?<=ProfileHeader.*">).*(?=<div\ class="ProfileHeader)
Regex5
(?<=ProfileHeader.*">).*?(?=\<)
Пример
88444
 
Последнее редактирование:
  • Спасибо
Реакции: arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
xpath
//div[@data-qa-file="ProfileHeader"]
атрибут
innertext
кубик - Парсить страницу

Regex1
(?<=data-qa-file="ProfileHeader">).*(?=<div\ class="ProfileHeader)



HTML

Regex2
(?<=ProfileHeader__nickname_\w+">).*(?=<div\ class="ProfileHeader)
Regex3
(?<=ProfileHeader__nickname_.*">).*(?=<div\ class="ProfileHeader)

HTML

Regex4
(?<=ProfileHeader.*">).*(?=<div\ class="ProfileHeader)
Regex5
(?<=ProfileHeader.*">).*?(?=\<)
Пример
Огромное спасибо за столь развернутый ответ, но чет у меня не заводится... Посмотри плиз, вот такой вариант, как достать циферку? тут разный текст в начале
C#:
<div class="ProfileHeader__panel_x4sgw ProfileHeader__panelMarginBottom_BfXpx" data-qa-file="ProfileHeader">0<!-- --> <!-- -->подписчиков<span class="ProfileHeader__panelBull_wxK7q"
<div class="ProfileHeader__panel_x4sgw" data-qa-file="ProfileHeader">1<!-- --> <!-- -->подписчик<span class="ProfileHeader__panelBull_wxK7q"
Конец понятен, а вот начало чет не очень... и звездочка и \w+ чет не выдергивает...
Пробовал вот так...
(?<=ProfileHeader__panel_\w+"\ data-qa-file="ProfileHeader">).*(?=<!--\ --> <!--\ -->подписч)
хз возможно ли вообще?
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
Огромное спасибо за столь развернутый ответ, но чет у меня не заводится... Посмотри плиз, вот такой вариант, как достать циферку? тут разный текст в начале
C#:
<div class="ProfileHeader__panel_x4sgw ProfileHeader__panelMarginBottom_BfXpx" data-qa-file="ProfileHeader">0<!-- --> <!-- -->подписчиков<span class="ProfileHeader__panelBull_wxK7q"
<div class="ProfileHeader__panel_x4sgw" data-qa-file="ProfileHeader">1<!-- --> <!-- -->подписчик<span class="ProfileHeader__panelBull_wxK7q"
Конец понятен, а вот начало чет не очень... и звездочка и \w+ чет не выдергивает...
Пробовал вот так...
(?<=ProfileHeader__panel_\w+"\ data-qa-file="ProfileHeader">).*(?=<!--\ --> <!--\ -->подписч)
хз возможно ли вообще?
Чисто цифры достать:
(?<=ProfileHeader">)\d+(?=<)

Либо
(?<="ProfileHeader">).*?(?=<!--\ -->)

Шпаргалка

88461
 

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