Дата и время публикации:
Проблема и решение
1. Суть проблемы
В недавно собранным мной из исходных кодов LibreOffice-7.2 (на момент первой публикации), столкнулся с тем, что вроде бы недавно работающий символ конца строки (\n) регулярного выражения в диалоге "Найти и заменить" вдруг перестал работать, как показано на рисунке 1.1
Рисунок 1.1
На котором показано, что при попытки объединить все слова, следующие в каждой отдельной строке, в одну потерпели фиаско, т.е. завершились с ошибкой, т.к. применялся символ конца строки (\n) регулярного выражения.
2. Решение
Чтение документации LibreOffice по использованию регулярных выражений давало понять [3.1], что концом строки являтся символ её конца (\n), применение которого ,как показано на рисунке 1.1, не давали положительных результатов, а одни только отрицательные.
Потратив на поиски пару часов выяснил, что пока для обозначения конца строки в регулярных выражениях LibreOffice все в основном указывают на использование символа (\n), применение которого, как показано на рисунке 1.1, не давало положительного результата достяжения поиска конца строки. Именно, в таком ключе применяется символ регулярных выражений ($) [3.2] .
Данный символ ($) указывает выполнять действие по достяжению конца поиска в текущей текстовой строки, в то время как символ (\n) приводит к разрыву абзаца и перехода на другую строку, что наверное разумно, если исходить из философии действия на текстом, а не рациональности, реализуемой в виде кодов обработки текстовых данных и которой привыкли мыслить программисты.
Поэтому после того, как заменил символ (\n) на ($) в поле "Найти" диалога "Найти и заменить", получил результат, который показан на рисунке 2.1 и соответствующий ожидаемому.
Рисунок 2.1
Как показано на рисунке 2.1, процедура замены прошла нормально без ошибок, а все слова, показанные на заднем плане диалога "Найти и заменить" и следующие в каждой отдельной строке, были объеденены в одну через запятую с одним пробелом после неё.
Таким образом, привычные и устоявшиеся правила определения конца строки теперь действуют отталкиваясь от выполняемого действия чем от рациональных методов, являющиеся привычными программистам.
3. Библиография