На форуме обязательно:
  1. Заполнить свой профиль НА РУССКОМ ЯЗЫКЕ КИРИЛИЦЕЙ. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Рекламу мы не размещаем ни на каких условиях.

Операции в свойствах текста-заполнителя. Регулярные выражения

Структура / Идентификаторы / Свойства блока / Рамки / Формы / Шрифты / Слои / Печать / Экспорт

Модератор: специалисты по Eplan

Ответить

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 170
Зарегистрирован: 12 июн 2014, 05:17
Имя: Мишкин Иван
Благодарил (а): 12 раз
Поблагодарили: 35 раз

Re: Регулярные выражения в текстах замены, фильтрах и прочее

Сообщение Dotarev » 19 ноя 2015, 23:26

Ещё можно использовать в фильтрах.
Но выше, каюсь, был не прав. Eplan "понимает" не все символы регулярных выражений. Точно принимаются символы "*", "?", "+", "^", выражения вида "[]" (например, любая цифра - "[0-9]"). Обратный слеш (и все выражения с ним), вертикальная черта и фигурные скобки не воспринимаются как спец. символы регулярного выражения. Пробовал как с русским, так и с английским интерфейсом диалоговых окон.


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 170
Зарегистрирован: 12 июн 2014, 05:17
Имя: Мишкин Иван
Благодарил (а): 12 раз
Поблагодарили: 35 раз

Re: Регулярные выражения в текстах замены, фильтрах и прочее

Сообщение Dotarev » 19 ноя 2015, 23:32

В данном случае, первое что приходит на ум - в шифр документа внести свойство блока, а в формате свойства блока использовать вывод вида документа с заменой текста.

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 707
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 47 раз
Поблагодарили: 41 раз

Re: Регулярные выражения в текстах замены, фильтрах и прочее

Сообщение legionercheg » 20 ноя 2015, 08:15

Сейчас шифр и формируется из свойства блока, но точка(или пробел) между номером проекта и видом документа идет как разделитель.Выходит разделитель надо убирать,а таблицу замены делать для всех Видов документов,а их штук 30. Щас пока запускаю Ё, можно ли там стока свойств занести в таблицу замены?:)

Сам же и отвечу-свойств получилось 42,все "влезло",способ работает :ext_book:
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 170
Зарегистрирован: 12 июн 2014, 05:17
Имя: Мишкин Иван
Благодарил (а): 12 раз
Поблагодарили: 35 раз

Re: Регулярные выражения в текстах замены, фильтрах и прочее

Сообщение Dotarev » 20 ноя 2015, 08:43

Как вариант:
1. ФорматСвойстваБлока[10] -- только <1520> Вид документа, замена Э3, Э4... на текст "Delme"
2. ФорматСвойстваБлока[ШифрДокумента] -- вместо <1520> вносим СвойствоБлока[10] + СкрытьСвойствоЕсли СвойствоИмеетСледующееЗначение: "Delme".
Тогда в тексте замены потребуется перечислить только варианты текста, которые требуется подавить. Вчера пробовал - вроде такой финт ушами работает.

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 707
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 47 раз
Поблагодарили: 41 раз

Re: Регулярные выражения в текстах замены, фильтрах и прочее

Сообщение legionercheg » 20 ноя 2015, 09:45

Свойство блока в свойстве блока :) Хитро,буду иметь ввиду.Хотя как по мне через чур запутано.Вариант с таблицей замены мне больше нравится.И проще,и если вдруг где какой новый документ добавляется-редактировать или новый формат задавать проще.
Но все равно спасибо,даже не думал в эту сторону :)
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360

Аватара пользователя

Dyma
знаток Eplan
знаток Eplan
Сообщения: 455
Зарегистрирован: 15 май 2012, 11:36
Имя: Чистякова Оксана
Благодарил (а): 5 раз
Поблагодарили: 12 раз

Re: Регулярные выражения в текстах замены, фильтрах и прочее

Сообщение Dyma » 20 ноя 2015, 13:18

Добрый день, коллеги!
Если в тексте замены поставить Оператором "Регулярное выражение", то активна галка в столбце "Продолжить". Кто знает назначение этого столбца? В хелпе информации не нашла.
Ранее была информация, что Е отрабатывает цепочку до первого совпадения в строке и отваливается. Может, используя галку происходит дальнейший поиск и замена?
При использовании арифметических знаков галка в столбце неактивна.
______________________________________________________
Я слышу и забываю. Я вижу и запоминаю. Я делаю и понимаю.


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 170
Зарегистрирован: 12 июн 2014, 05:17
Имя: Мишкин Иван
Благодарил (а): 12 раз
Поблагодарили: 35 раз

Re: Регулярные выражения в текстах замены, фильтрах и прочее

Сообщение Dotarev » 21 ноя 2015, 17:55

Действительно, в Help_Ru v2.4 часть текста помощи убрали. Привожу отрывок из Help_Ru_v2.5:
Продолжить:
Установите этот флажок, если хотите, чтобы несколько регулярных выражений были поочередно выполнены. Таким образом, например, можно заменить несколько пробелов подряд.
Если регулярное выражение должно выполняться только единожды, снимите этот флажок (настройка по умолчанию).
Пример:
Свойство Технические параметры (Ид. 20027) выбрано в качестве элемента формата свойства блока. В этом свойстве содержатся, например, следующие значения: напряжение 24 В, пост. ток 12 В или мощность 2,5 Вт. Теперь необходимо вырезать из этих значений только цифры и отобразить их.
Сначала для свойства Технические параметры поля Текст замены в диалоговом окне Формат: Свойство блока устанавливается значение "Использовать таблицу 1".
Чтобы заменить текст в свойствах блока, задайте затем в свойствах проекта для свойства Свойство блока: Текст замены [1] следующую таблицу:

Оператор Исходный текст Текст вывода Продолжить
Регулярное выражение ^[^0-9]* x
Регулярное выражение [^0-9]*$

Далее происходит замена значений свойства Технические параметры на тексты вывода 24, 12 или 2,5.

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 707
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 47 раз
Поблагодарили: 41 раз

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

Сообщение legionercheg » 03 авг 2016, 14:25

Иногда бывает так что имя какого нить устройства или кабеля заковыристо написано (пример: AK1-IPR2-A1-1), и при копировании если Ё указать что надо нумеровать устройства, иногда можно получить ОУ такого вида: ?AK1-IPR2-A1-2.
Это ОУ у меня выводится в отчет и хочу в таблицах текста замены пасти это дело. Т.е. если свойство(не важно какое,свойство блока или ОУ) начинается с "?" то текст замены какой нить типа "ошибка!неправильное имя!".
Но все никак не могу понять как объяснить в регулярных выражениях это все. ОУ может быть каким угодно, кол-во символов в нем тоже, но если первый символ знак вопроса "?", заменять это свойство на то что указано в таблице замены...
:ges_help:

Так оказывается в "Оператор" надо было = заменить на Регулярное выражение. Получилось заменить в тексте "?12345" на "ошибка!неправильное имя!12345",т.е. заменился только символ знака вопроса, а как сделать чтобы все значение "?12345" стало "ошибка!неправильное имя!" ?
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


Lekdro
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 24 фев 2014, 14:49
Имя: Алексей
Благодарил (а): 1 раз

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

Сообщение Lekdro » 07 окт 2016, 15:04

А вот еще пример использования регулярных выражений
viewtopic.php?f=78&p=71908#p71908

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 707
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 47 раз
Поблагодарили: 41 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение legionercheg » 03 апр 2018, 16:17

Кто подскажет как правильнее записать два регулярных выражения в тексте замены?
Есть данные которые попадают в отчет "K04-0305,K04-0306" (без кавычек). Так удобней уместить в одной строчке, а вот для схемы хочу "разбить" эти данные через свойства блока и текст замены. Т.е. первое регулярное выражение должно найти данные ДО запятой, а второе ПОСЛЕ запятой, и таким образом на схеме я получу 2 записи, вместо одной через запятую.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1114
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение Madwolf » 03 апр 2018, 18:29

Еплан не поддерживает автоматическую замену в регулярных выражениях, т.е. он может либо пропустить данную строку, либо нет, либо при соответствии заменить ее на другую, но используя тексты замены (которые предварительно определены). Данный вариант потребует много ручной работы, и не будет универсальным.

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 707
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 47 раз
Поблагодарили: 41 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение legionercheg » 04 апр 2018, 08:10

Хорошо, а если так - в тексте "K04-0305, K04-0306" найти весь текст после запятой и заменить его на "", а во втором тексте замены найти и заменить на пусто "" весь текст до запятой.
Просто найти и заменить на пустое значение одну лишь запятую получилось, терь вопрос как отловить текст До и После нее?
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


MVekb
знаток Eplan
знаток Eplan
Сообщения: 93
Зарегистрирован: 07 окт 2016, 07:31
Имя: Михаил
Благодарил (а): 24 раза
Поблагодарили: 17 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение MVekb » 04 апр 2018, 08:48

Весть текст до запятой в онлайн-калькуляторе регулярных выражений отлавливается таким выражением: [^,]*

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 707
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 47 раз
Поблагодарили: 41 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение legionercheg » 04 апр 2018, 10:37

Вставил такое регулярное выражение в текст замены: [,\s][^,]*
Из текста: К01-0101, К01-0102
Получил текст ДО запятой: К01-0101
т.е. еще и саму запятую и пробел "убрал"
Теперь осталось сделать тоже самое с текстом После запятой))
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


MVekb
знаток Eplan
знаток Eplan
Сообщения: 93
Зарегистрирован: 07 окт 2016, 07:31
Имя: Михаил
Благодарил (а): 24 раза
Поблагодарили: 17 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение MVekb » 04 апр 2018, 13:16

Я получил текст после запятой, но с пробелом впереди вот таким выражением: [\s][^,]*
От пробела не смог избавиться.

Кстати, выражением [,\s][^,]*, о котором вы говорите постом выше, я не смог получить выражение ДО запятой. Напротив, оно даёт выражение ПОСЛЕ запятой вместе с самой запятой. Я проверяю в онлайн-калькуляторе регулярных выражений здесь http://planetcalc.ru/708/. Возможно, еплан иначе интерпретирует.

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 707
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 47 раз
Поблагодарили: 41 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение legionercheg » 04 апр 2018, 15:13

Странно, у меня с "вашим" регулярным выражением ничего не заменяется (скрин ниже). А вот с "моим" предыдущим все ОК (опять же с точки зрения логики Ё):
результат.jpg
Текст замены1: мое выражение
Текст замены2: ваше
У вас нет необходимых прав для просмотра вложений в этом сообщении.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


MVekb
знаток Eplan
знаток Eplan
Сообщения: 93
Зарегистрирован: 07 окт 2016, 07:31
Имя: Михаил
Благодарил (а): 24 раза
Поблагодарили: 17 раз

Операции в свойствах текста-заполнителя. Регулярные выражения

Сообщение MVekb » 05 апр 2018, 09:48

Вот ещё в хэлпе есть интересный пример с регулярным выражением, которому я не могу дать логическое объяснение. Может, он поможет или направит в нужное русло:
Пример.PNG
Обратил внимание, что в последнем столбце (Продолжить) стоит галочка напротив первого регулярного выражения. Я не проверял, но, видимо, можно последовательно применять регулярные выражения к исходному тексту.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Ответить