Переменная в регулярном выражении

Leonid_silkov

Новичок
Регистрация
21.05.2015
Сообщения
4
Благодарностей
0
Баллы
1
Ребята, беда. Осваиваю зенопостер.
Задача - выбрать элемент из выпадающего списка. (области Украины).
Пробовал работать с тремя свойствами
innerhtml:Киевская область<span class="value">25</span>
outerhtml: <a href="#">Киевская область<span class="value">25</span></a>
innertext:Киевская область 25

При помощи конструктора рег.выражений создал рабочие. самый простой - для innertext - Киевская.*
Но как только я хочу вместо области поставить переменную {-Variable.oblast-} (регулярка имеет вид
{-Variable.oblast-}.* - ничего не получается. Значение переменной - "Киевская".
тип поиска стоит regex.

находил на паблике подобную проблему - но решение озвучено не было.
"В принципе сам разобрался.
(?<=<p\ id="">)\w\ spis(?=:</p>[\w\W]*?{-Variable.fruit-})
Видимо в чем-то прежде ошибся. Выражение, указанное выше все-таки работает. Вместо названия можно подставить имя переменной."
Использую в данное время demo.версию.

Просьба хотя бы указать вектор, в котором нужно копать.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 224
Благодарностей
5 843
Баллы
113
Макрос переменной {-Variable.Var1-} не работает в Тестере регулярных выражений, где вы составляете выражение, в самом экшне Regex он сработает.
 

Leonid_silkov

Новичок
Регистрация
21.05.2015
Сообщения
4
Благодарностей
0
Баллы
1
Макрос переменной {-Variable.Var1-} не работает в Тестере регулярных выражений, где вы составляете выражение, в самом экшне Regex он сработает.
Насколько я правильно понял Вашу запись: в ProjectMaker - работать не будет на этапе создания и отладки, но когда я запущу ZennoPoster - работать будет?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 224
Благодарностей
5 843
Баллы
113
Вы регулярку в какой экшн вставляете? Данные>Обработка текста>Regex - в нем макрос переменной будет срабатывать, в Тестере при составлении регулярки - нет.
 

Leonid_silkov

Новичок
Регистрация
21.05.2015
Сообщения
4
Благодарностей
0
Баллы
1
Вы регулярку в какой экшн вставляете? Данные>Обработка текста>Regex - в нем макрос переменной будет срабатывать, в Тестере при составлении регулярки - нет.
я через конструктор действий пытался при помощи регулярки найти необходимый элемент и на нем сделать событие Клик.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 224
Благодарностей
5 843
Баллы
113
Тоже самое - в самом Конструкторе при поиске не сработает, значение надо указывать явно. А вот когда действие создадите, можно в свойствах макрос переменной подставить вместо значения для regex.
 
  • Спасибо
Реакции: Leonid_silkov

Leonid_silkov

Новичок
Регистрация
21.05.2015
Сообщения
4
Благодарностей
0
Баллы
1
Спасибо, милчеловек) Вы сэкономили мне много нервов. +1 от меня.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 224
Благодарностей
5 843
Баллы
113
Спасибо, милчеловек) Вы сэкономили мне много нервов. +1 от меня.
Незачто) смысл в том, что в самих экшнах макрос переменной интерпретируется программой, а в отдельных модулях программы нет.
 
Последнее редактирование:

Volodec

Client
Регистрация
17.10.2017
Сообщения
24
Благодарностей
4
Баллы
3
А вот когда действие создадите, можно в свойствах макрос переменной подставить вместо значения для regex
по какой причине может не сработать? В свойствах действия во вкладке "выполненные" в колонке значение остается значение {-Variable.mechanism_current-}, а не значение самой переменной
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
по какой причине может не сработать? В свойствах действия во вкладке "выполненные" в колонке значение остается значение {-Variable.mechanism_current-}, а не значение самой переменной
такова особенность отображения. Но значение на самом деле подставляется
 

Volodec

Client
Регистрация
17.10.2017
Сообщения
24
Благодарностей
4
Баллы
3
Очень странно, не хочет работать... Может я чего-то не того пишу?
 

Вложения

evgen_po

Client
Регистрация
27.08.2013
Сообщения
847
Благодарностей
528
Баллы
93
  • Спасибо
Реакции: Volodec

Volodec

Client
Регистрация
17.10.2017
Сообщения
24
Благодарностей
4
Баллы
3
Спасибо, все заработало
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
Название темы очень подходит под описание проблемы, поэтому спрошу здесь
Помогите советом, не могу понять, почему не хочет работать.
Что хочу сделать, хочу выдернуть всю переписку с сайта, составляю длинную регулярку
Код:
((?<=<span\ class="messenger-message-text">)[\w\W]*?(?=</span>)|(?<=<span\ class="messenger-message-text\ messenger-message-text_mine">)[\w\W]*?(?=</span>)|((?<=rel="noopener\ noreferrer">).*(?=</a>))|((?<=class="messenger-messages-item-title-price">).*?(?=</span>)))
этой регуляркой хочу забрать все именно ВСЕ совпадения, и вот при таких хотелках кубик не дает возможности выбрать переменную
Безымянный.png
Что не так??
 

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
Если брать все совпадения то только в список, из списка уже можно в переменную
да похоже ваша правда, только наверно вы хотели сказать, что ВСЁ можно положить только в таблицу
 

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43
  • Спасибо
Реакции: p-sergei

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
Почему в таблицу? Именно в список, затем операции над списком - объединять элементы списка - и в переменную
ох, и снова вы правы, еще раз пересмотре кубик, реально и в список есть, еще раз спасибо,так будет короче. А то я уже через таблицу нагородил и циклом в список загонял.
 

dsotm

Client
Регистрация
21.02.2020
Сообщения
91
Благодарностей
21
Баллы
8
Вот так вот не работает. Переменная получает рандомную регулярку (слово). Если вписать это слово в регулярку в экшене вместо переменной - все работает.
 

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 450
Благодарностей
8 678
Баллы
113
Вот так вот не работает. Переменная получает рандомную регулярку (слово). Если вписать это слово в регулярку в экшене вместо переменной - все работает.
Все работает:

89935


Возможно, причина того что у вас не находит - наличие символов в другом регистре в исх. тексте и в слове взятом для поиска или из-за наличия спец-символов в слове, которые в рег-выражении нужно экранировать обратным слешем. С помощью действия "Обработка текста - Escape строки" можно автоматически экранировать такие спец-символы, а игнорирование регистра можно задать с помощью (?i) перед рег-выражением.

89936
 
Последнее редактирование:

dsotm

Client
Регистрация
21.02.2020
Сообщения
91
Благодарностей
21
Баллы
8
Пример. Есть основное слово "автоб". Есть поисковая выдача "двухэтажный автобус". Мне нужно регуляркой зацепить этот "автоб" из "автобус" и выйти по зеленой ветке. Если никакого слова с таким буквосочетанием нет, то выход по красной.
Язык один и тот же, спецсимволов нет, регистр одинаковый.

Регулярка не работает с кирилицей. Пол дня потратил, чтоб это понять...

Все оказалось несколько иначе... В русском тексте попадались английские символы.
 
Последнее редактирование:
  • Спасибо
Реакции: Sergodjan

noble

Пользователь
Регистрация
09.10.2014
Сообщения
171
Благодарностей
10
Баллы
18
Не работает регулярное вырожение
(?<=\{-Variable\.tex-}\|).*

В {-Variable\.tex-} хранится значение S2_340

Обрабатывают следующий текст: 340 г|S2_340|252,00 грн|В КОРЗИНУ
В теории результат должен быть: 252,00 грн|В КОРЗИНУ
А у меня рузельтат экшена Regex - ничего

Может кто нает в чем печина ?
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 380
Благодарностей
467
Баллы
83
Не работает регулярное вырожение
(?<=\{-Variable\.tex-}\|).*

В {-Variable\.tex-} хранится значение S2_340

Обрабатывают следующий текст: 340 г|S2_340|252,00 грн|В КОРЗИНУ
В теории результат должен быть: 252,00 грн|В КОРЗИНУ
А у меня рузельтат экшена Regex - ничего

Может кто нает в чем печина ?
{-Variable.tex-}
Не нужно менять структуру названия переменной
 
  • Спасибо
Реакции: noble

noble

Пользователь
Регистрация
09.10.2014
Сообщения
171
Благодарностей
10
Баллы
18

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