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

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.версию.

Просьба хотя бы указать вектор, в котором нужно копать.
 
Макрос переменной {-Variable.Var1-} не работает в Тестере регулярных выражений, где вы составляете выражение, в самом экшне Regex он сработает.
 
Макрос переменной {-Variable.Var1-} не работает в Тестере регулярных выражений, где вы составляете выражение, в самом экшне Regex он сработает.

Насколько я правильно понял Вашу запись: в ProjectMaker - работать не будет на этапе создания и отладки, но когда я запущу ZennoPoster - работать будет?
 
Вы регулярку в какой экшн вставляете? Данные>Обработка текста>Regex - в нем макрос переменной будет срабатывать, в Тестере при составлении регулярки - нет.
 
Вы регулярку в какой экшн вставляете? Данные>Обработка текста>Regex - в нем макрос переменной будет срабатывать, в Тестере при составлении регулярки - нет.

я через конструктор действий пытался при помощи регулярки найти необходимый элемент и на нем сделать событие Клик.
 
Тоже самое - в самом Конструкторе при поиске не сработает, значение надо указывать явно. А вот когда действие создадите, можно в свойствах макрос переменной подставить вместо значения для regex.
 
  • Оценить
Реакции: Leonid_silkov
Спасибо, милчеловек) Вы сэкономили мне много нервов. +1 от меня.
 
Спасибо, милчеловек) Вы сэкономили мне много нервов. +1 от меня.
Незачто) смысл в том, что в самих экшнах макрос переменной интерпретируется программой, а в отдельных модулях программы нет.
 
Последнее редактирование:
А вот когда действие создадите, можно в свойствах макрос переменной подставить вместо значения для regex
по какой причине может не сработать? В свойствах действия во вкладке "выполненные" в колонке значение остается значение {-Variable.mechanism_current-}, а не значение самой переменной
 
по какой причине может не сработать? В свойствах действия во вкладке "выполненные" в колонке значение остается значение {-Variable.mechanism_current-}, а не значение самой переменной
такова особенность отображения. Но значение на самом деле подставляется
 
Очень странно, не хочет работать... Может я чего-то не того пишу?
9704ac3a642f6e.jpg
 

Вложения

  • Оценить
Реакции: Volodec
Спасибо, все заработало
 
Название темы очень подходит под описание проблемы, поэтому спрошу здесь
Помогите советом, не могу понять, почему не хочет работать.
Что хочу сделать, хочу выдернуть всю переписку с сайта, составляю длинную регулярку
Код:
Развернуть Свернуть Копировать
((?<=<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
Что не так??
 
Если брать все совпадения то только в список, из списка уже можно в переменную
да похоже ваша правда, только наверно вы хотели сказать, что ВСЁ можно положить только в таблицу
 
Почему в таблицу? Именно в список, затем операции над списком - объединять элементы списка - и в переменную
ох, и снова вы правы, еще раз пересмотре кубик, реально и в список есть, еще раз спасибо,так будет короче. А то я уже через таблицу нагородил и циклом в список загонял.
 
Вот так вот не работает. Переменная получает рандомную регулярку (слово). Если вписать это слово в регулярку в экшене вместо переменной - все работает.
 

Вложения

  • Снимок.PNG
    Снимок.PNG
    6,5 KB · Просмотры: 237
Вот так вот не работает. Переменная получает рандомную регулярку (слово). Если вписать это слово в регулярку в экшене вместо переменной - все работает.
Все работает:

89935


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

89936
 
Последнее редактирование:
Пример. Есть основное слово "автоб". Есть поисковая выдача "двухэтажный автобус". Мне нужно регуляркой зацепить этот "автоб" из "автобус" и выйти по зеленой ветке. Если никакого слова с таким буквосочетанием нет, то выход по красной.
Язык один и тот же, спецсимволов нет, регистр одинаковый.

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

Все оказалось несколько иначе... В русском тексте попадались английские символы.
 
Последнее редактирование:
  • Оценить
Реакции: Sergodjan
Не работает регулярное вырожение
(?<=\{-Variable\.tex-}\|).*

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

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

Может кто нает в чем печина ?
 
Не работает регулярное вырожение
(?<=\{-Variable\.tex-}\|).*

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

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

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

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