1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

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

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

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

Ответить

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

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

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 89 раз
Поблагодарили: 115 раз

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

Сообщение legionercheg »

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

Сам же и отвечу-свойств получилось 42,все "влезло",способ работает :ext_book:

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 89 раз
Поблагодарили: 115 раз

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

Сообщение legionercheg »

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

Dyma
знаток Eplan
знаток Eplan
Сообщения: 456
Зарегистрирован: 15 май 2012, 12:36
Имя: Чистякова Оксана
Страна: Россия
город/регион: Череповец
Благодарил (а): 4 раза
Поблагодарили: 17 раз

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

Сообщение Dyma »

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

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

Действительно, в 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
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 89 раз
Поблагодарили: 115 раз

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

Сообщение legionercheg »

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

Так оказывается в "Оператор" надо было = заменить на Регулярное выражение. Получилось заменить в тексте "?12345" на "ошибка!неправильное имя!12345",т.е. заменился только символ знака вопроса, а как сделать чтобы все значение "?12345" стало "ошибка!неправильное имя!" ?

Lekdro
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 89 раз
Поблагодарили: 115 раз

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

Сообщение legionercheg »

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

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1454
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 60 раз
Поблагодарили: 181 раз

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

Сообщение Madwolf »

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 89 раз
Поблагодарили: 115 раз

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

Сообщение legionercheg »

Хорошо, а если так - в тексте "K04-0305, K04-0306" найти весь текст после запятой и заменить его на "", а во втором тексте замены найти и заменить на пусто "" весь текст до запятой.
Просто найти и заменить на пустое значение одну лишь запятую получилось, терь вопрос как отловить текст До и После нее?

MVekb
знаток Eplan
знаток Eplan
Сообщения: 300
Зарегистрирован: 07 окт 2016, 07:31
Имя: Михаил
Страна: Россия
город/регион: Екатеринбург
Благодарил (а): 116 раз
Поблагодарили: 87 раз

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

Сообщение MVekb »

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 89 раз
Поблагодарили: 115 раз

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

Сообщение legionercheg »

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

MVekb
знаток Eplan
знаток Eplan
Сообщения: 300
Зарегистрирован: 07 окт 2016, 07:31
Имя: Михаил
Страна: Россия
город/регион: Екатеринбург
Благодарил (а): 116 раз
Поблагодарили: 87 раз

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

Сообщение MVekb »

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

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 89 раз
Поблагодарили: 115 раз

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

Сообщение legionercheg »

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

MVekb
знаток Eplan
знаток Eplan
Сообщения: 300
Зарегистрирован: 07 окт 2016, 07:31
Имя: Михаил
Страна: Россия
город/регион: Екатеринбург
Благодарил (а): 116 раз
Поблагодарили: 87 раз

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

Сообщение MVekb »

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

Вернуться в «Проект»