Главная
» PC Советы
»
Используйте регулярные выражения в LibreOffice Writer для пакетного редактирования текста.
Используйте регулярные выражения в LibreOffice Writer для пакетного редактирования текста.
Для расширенного редактирования в LibreOffice Writer откройте меню «Правка» > «Найти и заменить» , разверните раздел «Дополнительные параметры» и включите «Регулярные выражения» . Введите шаблон в поле «Найти», а если хотите изменить найденный текст, введите замену в поле «Заменить». Используйте «Найти все» или «Найти следующее» , чтобы проверить совпадения перед выбором «Заменить все» .
В текущей справке LibreOffice 26.8 описан этот рабочий процесс. Регулярные выражения позволяют удалять повторяющиеся пробелы, находить структурированный текст, например даты, или переставлять части имен за один проход. Приведенные ниже шаблоны предназначены для диалогового окна «Найти и заменить» в Writer; не следует предполагать, что в других программах используется идентичный синтаксис.
Безопасно откройте функцию «Найти и заменить».
Сохраните копию важного документа перед внесением существенных изменений. Это обеспечит вам надежный резервный вариант, если совпадений по шаблону окажется больше, чем ожидалось. В Writer выберите «Правка» > «Найти и заменить» или нажмите клавишу Enter Ctrl+Hв Windows и Linux, или Command+Hв macOS.
Нажмите «Дополнительные параметры» , чтобы развернуть диалоговое окно.
Выберите «Регулярные выражения» . Оставьте эту опцию включенной как для поиска шаблона, так и для любой замены на основе регулярных выражений.
Введите небольшой тестовый шаблон, затем нажмите «Найти далее» , чтобы проверить одно совпадение, или «Найти все» , чтобы выбрать все совпадения.
LibreOffice рассматривает точку ( .) как любой отдельный символ, а звездочку ( *) как ноль или более повторений предыдущего выражения. Следовательно, .*означает ноль или более символов в абзаце. Обычная звездочка не то же самое, что распространенный символ подстановки при поиске в файле, означающий «любой текст». Поиск по регулярным выражениям в Writer описан отдельно от поиска по символам подстановки.
Откройте окно «Редактировать» и выберите «Найти и заменить», чтобы начать редактирование по шаблону в текущем документе Writer.
Создайте шаблон, который будет соответствовать только вашим намерениям.
Начните с самого простого и конкретного шаблона, описывающего вашу цель. Используйте якоря, когда весь абзац должен соответствовать шаблону: ^означает начало абзаца, а $означает его конец. Например, ^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}$находит абзац, содержащий только дату в формате ГГГГ-ММ-ДД. Проверяется формат даты, а не то, является ли дата реальной календарной датой.
К распространенным символьным блокам относятся \dдесятичная цифра, \wсимвол слова, +одно или несколько повторений, а также диапазоны в квадратных скобках, такие как [A-Z]. LibreOffice также описывает классы символов, такие как [[:alpha:]]и [[:digit:]]. Предпочтительнее использовать класс символов, если текст может содержать буквы, выходящие за рамки базового английского алфавита от A до Z.
Чтобы удалить повторяющиеся пробелы, найдите [ ]{2,}и замените их одним обычным пробелом. Этот шаблон предназначен для двух или более буквальных пробелов; он не предназначен для табуляции. Сначала нажмите « Найти все» , чтобы убедиться, что выделенные области — это ошибки пробелов, которые вы хотите исправить.
Изменение порядка текста с помощью групп захвата
Скобки позволяют сохранить части найденного значения, чтобы замена могла их повторно использовать. Для документа, содержащего имена, например, «Смит, Ана», используйте следующий шаблон поиска:
([A-Za-z]+), ([A-Za-z]+)
Введите это в поле "Заменить":
$2 $1
Первая группа — это фамилия, а вторая — имя, поэтому «Смит, Ана» становится «Ана Смит». В LibreOffice группы захвата записываются как , , и так далее в выражении «Найти», а затем ссылаются как $1, $2, и так далее в выражении «Заменить». Диапазоны в этом примере [A-Za-z]охватывают только основные английские буквы; для имен с буквами с диакритическими знаками используйте описанный [[:alpha:]]класс в обеих группах и проверьте результаты.
Разверните раздел «Дополнительные параметры» и включите «Регулярные выражения» перед вводом шаблона регулярного выражения.
Шаблон даты изменяет визуальный порядок на MM/DD/YYYY; используйте его только в том случае, если этот формат подходит вашим читателям. Он не проверяет даты и не учитывает региональные особенности. Для пустых абзацев сначала используйте функцию « Найти следующий» . Удаление знаков абзаца может изменить интервал и структуру документа, поэтому не выполняйте широкую замену, не проверив результат.
Группы захвата позволяют при замене повторно использовать две части каждого совпавшего имени в новом порядке.
Перед заменой проверьте совпадения.
Используйте функцию «Найти далее» , чтобы просмотреть несколько совпадений, если шаблон новый. Используйте функцию «Найти все» , чтобы увидеть полный набор выбранных совпадений перед заменой. Если функция выделяет часть слова, обнаруживает неожиданные знаки препинания или пропускает буквы с диакритическими знаками, сузьте или измените шаблон, а не принимайте результаты.
Если выделение правильное, нажмите «Заменить» , чтобы изменить по одному совпадению, или «Заменить все» для всего документа. Сразу же проверьте результат. Если он неверен, используйте Ctrl+Z (или команду «Отменить» в вашей системе), прежде чем вносить другие изменения, а затем скорректируйте шаблон.
Важное ограничение: поиск с помощью регулярных выражений в Writer работает внутри абзаца. Точка не пересекает разрывы абзацев. В поле «Найти» \nона соответствует разрыву строки, вставленному вручную с помощью Shift+Enter; в поле «Заменить» в Writer \nона вставляет разрыв абзаца. Обращайтесь с этой заменой осторожно, так как она может разделить текст на новые абзацы.
После замены текста, внесите в него необходимые изменения и сравните его с контекстом.
Проверьте правку
Просмотрите отредактированные абзацы на наличие пропущенных знаков препинания, двойных пробелов или текста, соединенного через границы абзацев.
Повторите поиск исходного шаблона. Если задача заключалась в удалении шаблона, не должно остаться никаких непреднамеренных совпадений.
При таких преобразованиях, как изменение порядка имен или дат, перед сохранением сравните несколько измененных примеров с исходной копией.