Форум поддержки пользователей LibreOffice, Apache OpenOffice

Главная категория => Calc => Тема начата: Rafik от 5 марта 2015, 19:44

Название: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: Rafik от 5 марта 2015, 19:44
Столкнулся с интересным явлением. В либре оффис 4 версии почему-то в стандартном фильтре не работают регулярные выражения, хотя в настройках фильтра можно поставить галочку напротив "Регулярное выражение". При установке фильтра по столбцу с условием = *петр* и галочкой "регулярное выражение", без галочки "учитывать регистр" получается пустая таблица. При условии "содержит петр" выдает все строки с вхождением этого слова.
Это глюк или фича такая?
Как в макросе поставить фильтр по условию "содержит", если не работают регулярные выражения?
Название: Re: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: kompilainenn от 5 марта 2015, 19:50
а слово просто "петр" или "петрушка"??? или еще может варианты?
Название: Re: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: kompilainenn от 5 марта 2015, 20:02
хе, из Справки:
* - Поиск нулевого или большего числа символов перед "*". Например, при поиске "Аб*в" будут найдены "Ав", "Абв", "Аббв", "Абббв" и т. д.

то есть выражение *петр* - не имеет смысла...
Название: Re: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: rami от 5 марта 2015, 20:13
Цитата: kompilainenn от  5 марта 2015, 18:02то есть выражение *петр* - не имеет смысла...
В таком виде да, неправильно, правильно:   .*петр.* , будут найдны все слова содержащие петр.
Точка означает любой символ, а звёздочка любое количество. Звёздочка без точки — любое количество неизвестно чего ???
Название: Re: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: Rafik от 5 марта 2015, 20:34
Цитата: rami от  5 марта 2015, 18:13Точка означает любой символ, а звёздочка любое количество. Звёздочка без точки — любое количество неизвестно чего
Спасибо, помогло. Под линем прекрасно работает. Завтра попробую на вендовой сборке.
Название: Re: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: Rafik от 6 марта 2015, 12:01
Под вендовой сборкой 4.3.6 прекрасно работает.
Через диалог стандартного фильтра по двум условиям колонка С = .*петр.* AND колонка R  = .*тр.* отфильтровывается правильно.
То же самое через макрос тоже нормально работает.
Название: Re: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: kompilainenn от 6 марта 2015, 12:17
неудивительно, правила пишутся отнюдь не для того, чтобы их нарушать, тем более в такой области, как регулярки
Название: Re: Регулярные выражения в станд.фильтре либре 4.1
Отправлено: Rafik от 6 марта 2015, 18:36
Не силен в буржуйском языке, поэтому воспринял инфу про * как любое количество любых символов. А на самом деле * это только "любое количество"  указанного перед *