Понял, Вас. Спасибо за разъяснение. Учту эту особенность на будущее.
Да, поиск по словам вероятно подошел бы. Или другими словами поиск с учетом пробелов.
Регулярные выражения
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
В новой версии ПЛИ будет, ожидайте.
С уважением, поддержка ElbuzGroup.
Огромное спасибо, это будет весьма полезное расширение!
В книге Филда есть интересное предложение
Если можно использовать систему автозамены текста, с использованием регулярных выражений с целью поиска и замены, например, повторений, то каким образом это работает? И каким должен быть в этом случае синтаксис?
Например выражение выглядит так: Ищет любые повторения букв/слов(разделены пробелом(ами)) подряд. Можно ли его использовать в системе автозамены текста, и если можно, то что нужно написать в поле/полях "Найти"/"Заменить на", чтобы найденное повторение, в данном случае Samsung Samsung, заменилось на одно слово "Samsung" Интересует именно применение регулярных выражений.
В книге Филда есть интересное предложение
Вот по этому поводу хочу поинтересоваться о следующем:При дополнительной поддержке со стороны конкретной утилиты или языка программирования регулярные выражения способны вставлять, удалять, выделять и выполнять самые невероятные операции с текстовыми данными любого вида.
Если можно использовать систему автозамены текста, с использованием регулярных выражений с целью поиска и замены, например, повторений, то каким образом это работает? И каким должен быть в этом случае синтаксис?
Например выражение выглядит так: Ищет любые повторения букв/слов(разделены пробелом(ами)) подряд. Можно ли его использовать в системе автозамены текста, и если можно, то что нужно написать в поле/полях "Найти"/"Заменить на", чтобы найденное повторение, в данном случае Samsung Samsung, заменилось на одно слово "Samsung" Интересует именно применение регулярных выражений.
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Здравствуйте, уважаемые разработчики!
Продолжая тему, прошу помочь разобраться в следующей ситуации.
Решил использовать регулярное выражение в системе автозамены текста.
Протестировал:
картинка 1 Тут как бы работает.
Создал правило автозамены текста и запустил импорт. Результат получился таким:
картинка 2 На картинке видно, что программа с помощью данного выражения указанного в поле "Найти" нашла текст и заменила его на текст указанный в поле "Заменить на".
Далее поле "Заменить на" я очистил и снова запустил импорт. Результат получился таким:
картинка 3 Т.е. в итоге замены никакой не произошло.
Далее я установил галочку в поле "У", при наведении мышкой на которое появляется следующая подсказка "Удалить текст поиска в исходной строке" и снова запустил импорт. Результат получился аналогичным предыдущему:
картинка 4 Т.е. в итоге получается, что программа данное регулярное выражение понимает, с помощью него может находить какой то тект* и заменять его на текст введенный в поле "Заменить на". А вот удалять найденный текст категорически отказывается.
И это еще не все. При замене, результат которой видно на второй картинке данного поста, не учитываются пробелы, что не есть нелогично, исходя из того, что пробелы не учитываются(не удаляются из строки в которой происходит замена) даже с установленным флагом в поле с наименованием "УП" т.е. в результате между заменяемым текстом(в том случае это было 5 подчеркиваний подряд "_____" ) и следующим за ним всегда присутствует пробел.
Хотелось бы узнать что тут можно сделать.
Вся прелесть использования регулярных выражений в данной системе автозамены текста раскрывается в полной мере только при использовании регулярных выражений, для поиска и замены текста. Причем с полной поддержкой, т.е. и при поиске, и при замене. А Сейчас получается, что регулярные выражения реализованы лишь частично и то только при поиске.
какой то текст - данное словосочетание я написал специально, т.к. если в поле "Найти" написать следующее регулярное выражение (^LED), а в поле "заменить на" написать например пять пятерок "55555", то в этом случае в обрабатываемой строке найдутся все последовательности букв вида "LED" и заменятся на текст введеный в поле "заменить на" хотя по логике из регулярного выражения следует, что заменять нужно именно тот текст, который "совпадает с искомым" и "находится в начале строки"
В общем есть над чем поработать.
В итоге получаются следующие вопросы:
1. Каков должен быть порядок действий, в случае если я хочу найти какой-либо текст с помощью регулярного выражения и удалить его?
2. Планируется ли реализация полной поддержки регулярных выражений в системе автозамены наименований? Т.е. поиск с учетом синтаксиса регулярных выражений и замена найденного с учетом синтаксиса регулярных выражений. На конкретном примере получается, что если регулярное выражение выглядит так (^LED), то в этом случае должно быть найдено слово "LED", и заменено/удалено только в тех случаях когда данное слово расположено в начале строки.
P.S. Архив базы получился несколько больше мегабайта и в связи с этим к посту прикрепить его не получится. При необходимости могу выслать на почту.
С уважением и надеждой на понимание.
Продолжая тему, прошу помочь разобраться в следующей ситуации.
Решил использовать регулярное выражение в системе автозамены текста.
Протестировал:
картинка 1 Тут как бы работает.
Создал правило автозамены текста и запустил импорт. Результат получился таким:
картинка 2 На картинке видно, что программа с помощью данного выражения указанного в поле "Найти" нашла текст и заменила его на текст указанный в поле "Заменить на".
Далее поле "Заменить на" я очистил и снова запустил импорт. Результат получился таким:
картинка 3 Т.е. в итоге замены никакой не произошло.
Далее я установил галочку в поле "У", при наведении мышкой на которое появляется следующая подсказка "Удалить текст поиска в исходной строке" и снова запустил импорт. Результат получился аналогичным предыдущему:
картинка 4 Т.е. в итоге получается, что программа данное регулярное выражение понимает, с помощью него может находить какой то тект* и заменять его на текст введенный в поле "Заменить на". А вот удалять найденный текст категорически отказывается.
И это еще не все. При замене, результат которой видно на второй картинке данного поста, не учитываются пробелы, что не есть нелогично, исходя из того, что пробелы не учитываются(не удаляются из строки в которой происходит замена) даже с установленным флагом в поле с наименованием "УП" т.е. в результате между заменяемым текстом(в том случае это было 5 подчеркиваний подряд "_____" ) и следующим за ним всегда присутствует пробел.
Хотелось бы узнать что тут можно сделать.
Вся прелесть использования регулярных выражений в данной системе автозамены текста раскрывается в полной мере только при использовании регулярных выражений, для поиска и замены текста. Причем с полной поддержкой, т.е. и при поиске, и при замене. А Сейчас получается, что регулярные выражения реализованы лишь частично и то только при поиске.
какой то текст - данное словосочетание я написал специально, т.к. если в поле "Найти" написать следующее регулярное выражение (^LED), а в поле "заменить на" написать например пять пятерок "55555", то в этом случае в обрабатываемой строке найдутся все последовательности букв вида "LED" и заменятся на текст введеный в поле "заменить на" хотя по логике из регулярного выражения следует, что заменять нужно именно тот текст, который "совпадает с искомым" и "находится в начале строки"
В общем есть над чем поработать.
В итоге получаются следующие вопросы:
1. Каков должен быть порядок действий, в случае если я хочу найти какой-либо текст с помощью регулярного выражения и удалить его?
2. Планируется ли реализация полной поддержки регулярных выражений в системе автозамены наименований? Т.е. поиск с учетом синтаксиса регулярных выражений и замена найденного с учетом синтаксиса регулярных выражений. На конкретном примере получается, что если регулярное выражение выглядит так (^LED), то в этом случае должно быть найдено слово "LED", и заменено/удалено только в тех случаях когда данное слово расположено в начале строки.
P.S. Архив базы получился несколько больше мегабайта и в связи с этим к посту прикрепить его не получится. При необходимости могу выслать на почту.
С уважением и надеждой на понимание.
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Вышлите вашу тестовую БД, мы проверим.
С уважением, поддержка ElbuzGroup.
Тестовую базу выслал.
Кстати, я нашел решение своего первого вопроса самостоятельно, может еще кому то пригодиться. Работает это следующим образом:
1. Заменяем все, что хотим с помощью регулярных выражений(первые 4 строки) на, нечто однозначно в прайсе не присутствующее. Я использовал для этого 10 подряд идущих знаков подчеркивания "__________"
2. Для регулярных выражений галочку в поле "УП" можно не устанавливать, т.к. толку от нее ноль.
3. В последней строке прописываем удаление десяти идущих подряд знаком подчеркиваний, после которых идет знак пробела(которого на картинке не видно), устанавливаем галочки как на рисунке и все! Результат достигнут
При использовании подобного подхода, нужно иметь в виду, что если текст который находит ваше выражение, встречается в обрабатываемой строке больше одного раза, то заменятся все повторения. И не важно, что само регулярное выражение указывает, что текст этот должен находиться, например только в начале строки.
Кстати, я нашел решение своего первого вопроса самостоятельно, может еще кому то пригодиться. Работает это следующим образом:
1. Заменяем все, что хотим с помощью регулярных выражений(первые 4 строки) на, нечто однозначно в прайсе не присутствующее. Я использовал для этого 10 подряд идущих знаков подчеркивания "__________"
2. Для регулярных выражений галочку в поле "УП" можно не устанавливать, т.к. толку от нее ноль.
3. В последней строке прописываем удаление десяти идущих подряд знаком подчеркиваний, после которых идет знак пробела(которого на картинке не видно), устанавливаем галочки как на рисунке и все! Результат достигнут
При использовании подобного подхода, нужно иметь в виду, что если текст который находит ваше выражение, встречается в обрабатываемой строке больше одного раза, то заменятся все повторения. И не важно, что само регулярное выражение указывает, что текст этот должен находиться, например только в начале строки.
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Планируется ли реализация полной поддержки регулярных выражений в системе автозамены наименований? Т.е. поиск с учетом синтаксиса регулярных выражений и замена найденного с учетом синтаксиса регулярных выражений. На конкретном примере получается, что если регулярное выражение выглядит так (^LED), то в этом случае должно быть найдено слово "LED", и заменено/удалено только в тех случаях когда данное слово расположено в начале строки.
До сих пор не исправили. Программисты у Вас, по ходу, не знают как работать с регулярками. Что за язык программирования то, который нормально не поддерживает регулярки?
Исправлять тут на самом деле не чего.
Поддержка регулярных выражений в программе, это не от языка программирования зависит, а от разработки данной программы.
Никто просто еще не предлагал добавить реализацию данной функциональности к существующему механизму регулярных выражений, вот и не работает
Так что не надо на разработчиков бочку катить.
Поддержка регулярных выражений в программе, это не от языка программирования зависит, а от разработки данной программы.
Никто просто еще не предлагал добавить реализацию данной функциональности к существующему механизму регулярных выражений, вот и не работает
Так что не надо на разработчиков бочку катить.
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Огромное спасибо Вам, товарищи разработчики, за внедрение полного синтаксиса регулярных выражений!
Всем кому интересно разобраться, можете скачать прикрепленный к данному топику файл скачанный от сюда.
Там можно в Excel легко и просто тестировать всякие регулярные выражения.
P.S. Кстати на том форуме, возможно, есть и поновее файлик.
P.S.S. Всем кто хочет просветиться по поводу регулярных выражений, советую прочитать следующую книгу: Регулярные выражения, 3-е издание. Автор: Джеффри Фридл
Всем кому интересно разобраться, можете скачать прикрепленный к данному топику файл скачанный от сюда.
Там можно в Excel легко и просто тестировать всякие регулярные выражения.
P.S. Кстати на том форуме, возможно, есть и поновее файлик.
P.S.S. Всем кто хочет просветиться по поводу регулярных выражений, советую прочитать следующую книгу: Регулярные выражения, 3-е издание. Автор: Джеффри Фридл
- Вложения
-
- _RegExp_05_01_1.zip
- (81.48КБ)411 скачиваний
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Здравствуйте! Подскажите, пожалуйста, сейчас осваиваю PLI и регулярные выражения.
Есть наименование товара в прайсе столбец F вида: Ноутбук Acer Aspire V5-131-10072G32nkk (NX.M89EU.005) Black; 11.6" (1366x768) LED / Intel Celeron 1007U (1.5 ГГц) / RAM 2ГБ / HDD 320ГБ / Intel HD / Без ОД / LAN / Wi-Fi / Linux / 1,38 кг / черный
Задача отделить регулярными выражениями Наименование и Описание (краткое описание).
Для того, чтобы отделить наименование из столбца F от остального текста до точки с запятой использую РВ берет весть текст в строке до символа точка с запятой. Все работает как надо. Получаю: Ноутбук Acer Aspire V5-131-10072G32nkk (NX.M89EU.005) Black
Вторая задача создать краткое описание из наименования столбец F. Пробую такое РВ при нажатии тест все хорошо
Вот настройки:
Делаю импорт прайса. Наименование отделяется отлично, а краткое описание остается как в прайсе, т.е. Ноутбук Acer Aspire V5-131-10072G32nkk (NX.M89EU.005) Black; 11.6" (1366x768) LED / Intel Celeron 1007U (1.5 ГГц) / RAM 2ГБ / HDD 320ГБ / Intel HD / Без ОД / LAN / Wi-Fi / Linux / 1,38 кг / черный, а нужно чтобы было 11.6" (1366x768) LED / Intel Celeron 1007U (1.5 ГГц) / RAM 2ГБ / HDD 320ГБ / Intel HD / Без ОД / LAN / Wi-Fi / Linux / 1,38 кг / черный
Есть знающие, чтобы подсказать что я не так сделал? Галочка ЗЕП убрана. Регулярные выражения прописаны в Настройках прайса=>Дополнительно=>Настройка регуляных выражений. Там для каждой категории.
Вот еще проверил:
Есть наименование товара в прайсе столбец F вида: Ноутбук Acer Aspire V5-131-10072G32nkk (NX.M89EU.005) Black; 11.6" (1366x768) LED / Intel Celeron 1007U (1.5 ГГц) / RAM 2ГБ / HDD 320ГБ / Intel HD / Без ОД / LAN / Wi-Fi / Linux / 1,38 кг / черный
Задача отделить регулярными выражениями Наименование и Описание (краткое описание).
Для того, чтобы отделить наименование из столбца F от остального текста до точки с запятой использую РВ
Код: Выделить всё
([^;]+)
Вторая задача создать краткое описание из наименования столбец F. Пробую такое РВ
Код: Выделить всё
([^;]*/)
Вот настройки:
Делаю импорт прайса. Наименование отделяется отлично, а краткое описание остается как в прайсе, т.е. Ноутбук Acer Aspire V5-131-10072G32nkk (NX.M89EU.005) Black; 11.6" (1366x768) LED / Intel Celeron 1007U (1.5 ГГц) / RAM 2ГБ / HDD 320ГБ / Intel HD / Без ОД / LAN / Wi-Fi / Linux / 1,38 кг / черный, а нужно чтобы было 11.6" (1366x768) LED / Intel Celeron 1007U (1.5 ГГц) / RAM 2ГБ / HDD 320ГБ / Intel HD / Без ОД / LAN / Wi-Fi / Linux / 1,38 кг / черный
Есть знающие, чтобы подсказать что я не так сделал? Галочка ЗЕП убрана. Регулярные выражения прописаны в Настройках прайса=>Дополнительно=>Настройка регуляных выражений. Там для каждой категории.
Вот еще проверил: