add icon indicating copy to clipboard operation
add copied to clipboard

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

Open artbear opened this issue 6 years ago • 1 comments

Существует проблема Давно назрело + в продолжение https://github.com/silverbulleters/add/issues/514

в шагах для файлов регулярки уже есть.

Хотелось бы иметь следующую функциональность нужно добавить шаги, проверяющие соответствие

  • [ ] по Подобно - хотя в части шагов есть поиск по *

  • [ ] и по регулярному выражению

проверять

  • [ ] заголовки форм/окон

  • [ ] заголовки элементов формы

  • [ ] заголовки колонок в таблицах форм

  • [ ] или другие представления элементов формы

  • [ ] имена элементов формы

  • [ ] имена колонок в таблицах форм

Дополнительный контекст

artbear avatar Jul 25 '19 08:07 artbear

Очень нужно, потому что проверка-поиск постоянно нужен и очень часто нужно и подобно тоже. Как вариант можно сделать такое:

вместо Если НРег(ОтображаемыйТекст) <> НРег(ПредставлениеЭлемента)

прописать такое: Если НЕ Соответствует(ОтображаемыйТекст, ПредставлениеЭлемента) ... `Функция Соответствует(Знач ГдеИскать, Знач ЧтоСравнить, ЭтоРегулярка = Ложь)

Если ЭтоРегулярка Тогда
	Возврат СоответствуетРегулярка(ГдеИскать, ЧтоСравнить); // нужно реализовать
КонецЕсли;
	
ГдеИскать = НРег(ГдеИскать);
ЧтоСравнить = НРег(СокрЛП(ЧтоСравнить));

прЕстьЗвездаСлева = Лев(ЧтоСравнить, 1) = "*";
прЕстьЗвездаСправа = Прав(ЧтоСравнить, 1) = "*";

Если прЕстьЗвездаСлева И прЕстьЗвездаСправа Тогда
	// подобие
	Возврат СтрНайти(ГдеИскать, ЧтоСравнить);
	
ИначеЕсли прЕстьЗвездаСлева Тогда
	// заканчивается на искомое
	Возврат СтрЗаканчиваетсяНа(ГдеИскать, ЧтоСравнить);
	
ИначеЕсли прЕстьЗвездаСправа Тогда
	// начинается на искомое
	Возврат СтрНачинаетсяС(ГдеИскать, ЧтоСравнить);
	
Иначе
	// строгое равенство
	Возврат ГдеИскать = ЧтоСравнить;
КонецЕсли;

КонецФункции`

Тогда можно будет заменить везде, где равенство или подобие строк проверялось функцию Соответствует. Функцию СоответствуетРегулярка(ГдеИскать, ЧтоСравнить) не реализовал, потому что пока не разбирался, как в АДД работает рег.

forsaled avatar Jul 25 '19 16:07 forsaled