В тестере рег. выражений работает, в кубике нет

kalne

Client
Регистрация
28.02.2016
Сообщения
63
Благодарностей
3
Баллы
8
Пытаюсь спарсить из следующего кода дату смерти. Такой регуляркой:
Код:
(?<=<div\ class="cardtable__left">Дата\ смерти</div>\n.*<div\ class="cardtable__right">)[\w\W]*?(?=</div>)
В тестере все работает, парсит, но в кубике не парсит: Ничего не найдено при поиске текста...
HTML:
 <div class="cardtable__field">
                                                <div class="cardtable__left">Возраст</div>
                                                <div class="cardtable__right">38 лет</div>
                                            </div>
                                       
                                   
                                   
                                       
                                            <div class="cardtable__field">
                                                <div class="cardtable__left">Дата смерти</div>
                                                <div class="cardtable__right">7 октября 1959 г.</div>
                                            </div>
Подскажите как решить проблему или подскажите какой-то другой способ парсинга для данного DOM, когда есть много DIV с одинаковыми class, но разным контентом.
 

starters

Активный пользователь
Регистрация
23.09.2016
Сообщения
254
Благодарностей
109
Баллы
43
Как простой вариант
Сначала спарси div смерти
(?<=Дата\ смерт)[\w\W]*?г\.

Из результата спарси дату
(?<=">).*?г\.
 

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
Только что проверил. Действительно интересно.
В конструкторе регулярок работает, а в кубике нет. Баг скорее всего.
 

kalne

Client
Регистрация
28.02.2016
Сообщения
63
Благодарностей
3
Баллы
8
Как простой вариант
Сначала спарси div смерти
(?<=Дата\ смерт)[\w\W]*?г\.

Из результата спарси дату
(?<=">).*?г\.
тоже думал, НО, есть блоки, где нет "г.", например, в конце, и не за что зацепиться... только за предыдущий DIV можно зацепиться...
 

starters

Активный пользователь
Регистрация
23.09.2016
Сообщения
254
Благодарностей
109
Баллы
43
Покажи примеры
 

kalne

Client
Регистрация
28.02.2016
Сообщения
63
Благодарностей
3
Баллы
8

starters

Активный пользователь
Регистрация
23.09.2016
Сообщения
254
Благодарностей
109
Баллы
43
Так тебе нужно по каждому блоку вытянуть инфу?
не только дату смерти?
Количество блоков всегда одинаково?
 

kalne

Client
Регистрация
28.02.2016
Сообщения
63
Благодарностей
3
Баллы
8
Так тебе нужно по каждому блоку вытянуть инфу?
иногда по каждому, иногда есть лишние.

Количество блоков всегда одинаково?
нет, иногда больше, иногда меньше

в том и проблема, было бы всегда одинаково, можно бы по номеру совпадения

Как вариант, можно спарсить все в таблицу:
Карьера кино
Статус женат

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

t4gs

Client
Регистрация
13.08.2010
Сообщения
29
Благодарностей
3
Баллы
3
ответ вообще планируется по этой проблемме ? такаяже ситуация, в тестере все отлично работает в кубиках нет, для теста выдернул спаршенный текс из переменной и засунул его в тестер думал может с кодировкой что не так но нет в тестере норм отработал. а в кубике отвечает-
Выполнение действия TextProcessing Ничего не найдено при поиске текста регулярным выражением
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 327
Благодарностей
5 429
Баллы
113
ответ вообще планируется по этой проблемме ? такаяже ситуация, в тестере все отлично работает в кубиках нет, для теста выдернул спаршенный текс из переменной и засунул его в тестер думал может с кодировкой что не так но нет в тестере норм отработал. а в кубике отвечает-
Выполнение действия TextProcessing Ничего не найдено при поиске текста регулярным выражением
Покажи скрин настроек кубика
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
ответ вообще планируется по этой проблемме ? такаяже ситуация, в тестере все отлично работает в кубиках нет, для теста выдернул спаршенный текс из переменной и засунул его в тестер думал может с кодировкой что не так но нет в тестере норм отработал. а в кубике отвечает-
Выполнение действия TextProcessing Ничего не найдено при поиске текста регулярным выражением
похоже, конструктор рег. выражений удаляет \r
Пока советую плясать от этого
 

t4gs

Client
Регистрация
13.08.2010
Сообщения
29
Благодарностей
3
Баллы
3
43321


давно не пользовал зенку с регулярками может конечно сам что напутал,
задача в тексте построчно есть данные, нужно выдернуть самое первое совпадение

пример

Код:
blabla
blabla
LoginHost
aaaaaa
blabla
сответсвенно нужно дернуть именно строку где aaaaaa, причем она всегда разная, постоянно только значение над ней LoginHost
в тестере и в notepad++ вообще на ура отработало а вот кубик не хочет (
 
Последнее редактирование:

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