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

dominus

Client
Регистрация
03.12.2013
Сообщения
6
Благодарностей
0
Баллы
1
Приветствую всех участников форума!

Обычно я нахожу решения проблем сам, но тут уж извините, сил моих больше нет...

В моем шаблоне присутствует конструкция вида:
Взять исходный код страницы [ Взять source HTML, Парсить результат - Regex type=\"password\", Положить в переменную - pageCheck ].
Далее я пытался проверить условие с помощью конструкции - Логического если [ {-Variable.pageCheck-} == TRUE ], но позже убедился, что конструкция такого вида не работает, поэтому пришлось придумывать костыль из двух шагов:
1. Свой JavaScript код - [ var tempVar = '{-Variable.pageCheck-}'; if (tempVar.length > 2) { tempVar = 1; } else { tempVar = 0; } ].
2. Логическое если [ {-Variable.tempVar-} == 1 ].
Т.е. мне пришлось так извратиться, только чтобы проверить истинность условия.

Теперь о регулярках. Как я уже писал выше я парсил исходный код с помощью конструкции:
Взять исходный код страницы [ Взять source HTML, парсить результат - Regex type=\"password\", Положить в переменную - {-Variable.pageCheck-} ], в таком виде результат возвращается, но далее я не могу проверить условие без использования костыля дополнительного блока с выполнением JavaScript. Хотя первоночально я пытался использовать для парсинга страницы Regex [ input type=\"password\" ] которая по непонятным мне причинам отказывалась работать (возвращать результат), а заработала только когда я сократил ее до - Regex [ type=\"password\" ].

Вообще я заметил, что с регулярками какая-то беда, например далее в тестере регулярных выражений для обработки ссылки вида http://sitename.com/login/ и вытягивании из нее только фрагмента sitename.com , срабатывает конструкция вида - (?<=http:\/\/).*?(?=\/), но когда я пытался использовать ее в таком виде - Обработка текста [ {-Variable.stringPath-} (содяржащий в себе строку - http://sitename.com/login/), Regex (?<=http:\/\/).*?(?=\/) ] по каким-то причинам ничего не возвращает.

Также непонятно почему не работают условия if a <= b и if a >= b, опять приходится придумывать что-то для обхода таких ограничений. Буду рад услышать, что я что-то делаю не так и получить полезный совет.
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
1) Вам нужно проверить выпарсился ли пароль? Есть ли что то в переменной?

'{-Variable.pageCheck-}'!=''

2) Регулярки работают как надо. Мы с нуля их не придумывали. если не парсится, значит регулярка не находит ничего.
Прикладывайте тестовые шаблоны, если уверены, что это не так. В 100% случаев у юзера ошибка по моему опыту жалоб на регулярки.

Условия работают http://gyazo.com/9b45f1ba67f4c027697aeba51721ae02.png
 
  • Спасибо
Реакции: dominus

dominus

Client
Регистрация
03.12.2013
Сообщения
6
Благодарностей
0
Баллы
1
За первый пункт спасибо, но TRUE и FALSE было бы привычнее использовать.
Разобрался, все заработало, проблема была не в парсинге регулярных выражений, а в работе "Intelli Search" (система не могла найти окно логина, после первой неудачной авторизации).
 

Mangazey

Client
Регистрация
22.03.2014
Сообщения
374
Благодарностей
27
Баллы
28
А не подскажет-ли кто, как быть в такой ситуации: нужно в логическом если указать не один вариант а несколько, например:
'{-Variable.tip_zhilya-}'=='к1(2)'
'{-Variable.tip_zhilya-}'=='к1(3)'
'{-Variable.tip_zhilya-}'=='к1(4)'
потому, что я не знаю какая цифра будет в скобках. На всякий случай скрин в подарок. :D
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 101
Благодарностей
8 977
Баллы
113
'{-Variable.tip_zhilya-}'=='к1(2)' | '{-Variable.tip_zhilya-}'=='к1(3)' | '{-Variable.tip_zhilya-}'=='к1(4)'
 

Mangazey

Client
Регистрация
22.03.2014
Сообщения
374
Благодарностей
27
Баллы
28

Mangazey

Client
Регистрация
22.03.2014
Сообщения
374
Благодарностей
27
Баллы
28
Нет, этот способ тут не работает :(
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 101
Благодарностей
8 977
Баллы
113

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
90
Баллы
28
попробуйте так '{-Variable.tip_zhilya-}'=='к1(4)'|'к1(3)'|'к1(2)'
 

Mangazey

Client
Регистрация
22.03.2014
Сообщения
374
Благодарностей
27
Баллы
28
Сам не пойму почему не получается. Короче создал новую переменную с переименованием именно для распределения по навигации. Может именно в логики If это не работает?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
Код:
{-Variable.tip_zhilya-}'=='к1(2)'||'{-Variable.tip_zhilya-}'=='к1(3)'||'{-Variable.tip_zhilya-}'=='к1(4)'
а так
 
  • Спасибо
Реакции: black_pariah и Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 101
Благодарностей
8 977
Баллы
113
  • Спасибо
Реакции: black_pariah

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