Содержимое

# Список регулярных выражений

Полный список поддерживаемых метасимволов и синтаксиса, см. в ICU Regular Expressions documentation («Документация по регулярным выражениям ICU»)

Ячейки с пустой строкой ("") не эквивалентны пустым ячейкам. При выполнении поиска или вычислений с текстом, пустая строка "" представляет собой текст нулевой длины.

Термин | Представление/Использование
--- | ---
Любой символ | Заданный символ, если это не метасимвол регулярного выражения. Список метасимволов представлен в этой таблице.
. | Любой отдельный символ, кроме разрыва строки или конца абзаца. Например, условие поиска «п.ск» совпадает и с «пуск», и с «писк».
^ | Начало абзаца или ячейки. Особые объекты, например, пустые поля или привязанные к символу врезки, в начале абзаца игнорируются. Пример: \"^Петр\" совпадает со словом «Пётр» только когда это первое слово абзаца.
$ | Конец абзаца или ячейки. Особые объекты, например, пустые поля или привязанные к символу врезки, в конце абзаца игнорируются. Например: «Пётр$» совпадает только когда слово «Пётр» находится в конце абзаца, при этом за словом «Пётр» не должна следовать точка. $ сам по себе означает конец абзаца. С его помощью возможно искать и заменять разрывы абзацев.
* | Ноль или одно вхождение непосредственно предшествующего элемента регулярного выражения. Например, «Ab*c» совпадает с «Ac», «Abc», «Abbc», «Abbbc», и так далее.
+ | Одно или несколько вхождений непосредственно предшествующего элемента регулярного выражения Например, «AX.+4» совпадает с «AXx4», но не совпадает с «AX4». Всегда будет найдена самая длинная возможная строка, соответствующая данному регулярному выражению в абзаце. Если в абзаце содержится строка «AX 4 AX4», то выделяется весь фрагмент.
? | Ноль или одно вхождение непосредственно предшествующего элемента регулярного выражения. Например, «Texts?» совпадает с «Text» и с «Texts», а «x(ab|c)?y» совпадает с «xy», «xaby» и «xcy».
\ | Когда за ним следует особый символ, он интерпретируется как обычный символ, а не как метасимвол регулярного выражения (за исключением комбинаций «\n», «\t», «\b», «\>» и «\<»). Например, «tree\.» совпадает с «tree.», но не совпадает с «treed» или «trees».

\n

При использовании в поле Найти находит разрыв строки, введённый с помощью комбинации клавиш Shift+Enter в Writer, либо комбинации клавиш Ctrl+Enter в ячейке Calc.

При использовании в текстовом поле Заменить в Writer, вставляет разрыв абзаца, который можно ввести с помощью клавиши Enter или Return. Не имеет особого значения в Calc и интерпретируется в нём буквально.

Чтобы заменить разрывы строк на разрывы абзацев в Writer, введите \n и в поле Найти, и в поле Заменить, а затем выполните поиск и замену.

\t | Символ табуляции. Также может использоваться в поле Заменить.
\b | Граница слова. Например, «\bbook» совпадает и с «bookmark», и с «book», но не совпадает с «checkbook», тогда как «book\b» совпадает и с «checkbook», и с «book», но не с «bookmark». Обратите внимание, что эта форма заменяет устаревшие формы (хотя они всё ещё работают) «\>» (отмечает конец слова) и «\<» (отмечает начало слова).
\w | Соответствует буквенно-цифровому символу и знаку подчёркивания.
\W | Соответствует любому символу, кроме буквенно-цифрового символа и знака подчёркивания.
^$ | Поиск пустого абзаца.
^. | Поиск первого символа абзаца.
& или $0 | Добавляет строку, найденную по условию поиска в поле Найти, к строке в поле Заменить при выполнении замены. Например, если ввести слово «window» в поле Найти и «&frame» в поле Заменить, то слово «window» заменяется на «windowframe». Также можно ввести «&» в поле Заменить, чтобы изменить Атрибуты или Формат строки, найденной по условию поиска.

[...]

Единичное вхождение любого из символов, заключённых в скобки. Например: «[abc123]» совпадает с символами «a», «b», «c», «1», «2» и «3». «[a-e]» совпадает с единичным вхождением одного из символов от «a» до «e», включительно (при задании диапазона символы с наименьшим номером символа Юникода должны располагаться в начале). «[a-eh-x]» совпадает с любым одиночным вхождением символов в диапазоне от «a» до «e» и от «h» до «x».

[^...] | Разрешается единичное вхождение любого символа (включая символ табуляции, пробел и разрыв строки), который не входит в список символов заданных диапазонов. Например, «[^a-syz]» совпадает со всеми символами, кроме букв из диапазона от «a» до «s», а также букв «y» и «z».

\uXXXX

\UXXXXXXXX

Символ, представленный в четырёхзначном шестнадцатеричном коде Юникода (XXXX).

Символ, представленный в восьмизначном шестнадцатеричном коде Юникода (XXXXXXXX).

В некоторых символьных шрифтах символ (глиф), отображаемый на экране, может визуально соответствовать другому коду Юникода, отличному от того, который фактически используется в шрифте. Для просмотра кодов Юникода выберите Вставка - Специальные символы или воспользуйтесь комбинациями клавиш для преобразования в Юникод.

\N{ИМЯ_СИМВОЛА_UNICODE} | Соответствует именованному символу Юникода. Некоторые символы имеют в Юникоде стандартные имена: SPACE, NO-BREAK SPACE, SOFT HYPHEN, ACUTE ACCENT, CIRCUMFLEX ACCENT, GRAVE ACCENT. В меню Вставка - Специальные символы можно искать и просматривать имена символов Юникода.
| | Инфиксный оператор для разделения альтернативных вариантов. Соответствует элементу, находящемуся перед «|», или элементу, следующему за «|». Например, шаблон «this|that» соответствует как слову «this», так и «that».
{N} | Постфиксный оператор повторения, определяющий точное число вхождений ("N") предшествующего элемента регулярного выражения, необходимое для поиска совпадения. Например, «tre{2}» совпадает с «tree».
{N,M} | Постфиксный оператор повторения, определяющий диапазон вхождений (от минимального «N» до максимального «M») предшествующего элемента регулярного выражения, необходимый для поиска совпадения. Например, «tre{1,2}» совпадает с «tre» и «tree».
{N,} | Постфиксный оператор повторения, определяющий диапазон вхождений (от минимального «N» до незаданного максимального значения) предшествующего элемента регулярного выражения, необходимый для поиска совпадения (при этом максимальное число вхождений ограничено только размером документа). Например, «tre{2,}» совпадает с «tree», «treee» и «treeeee».

(...)

Конструкция группировки, выполняющая три функции.

1. Для объединения набора альтернативных вариантов, разделённых символом «|». Например, регулярное выражение «b(oo|ac)k» совпадает и с «book», и с «back».

2. Используется для объединения элементов в сложных выражениях, к которым применяются постфиксные операторы ("*", "+" и "?"), а также постфиксные операторы повторения. Например, регулярное выражение "a(bc)?d" соответствует как строке «ad», так и «abcd», а выражение "M(iss){2}ippi" соответствует слову «Mississippi».

3. Используется для ссылки на совпавшую подстроку внутри круглых скобок для её последующего использования. Конструкция «N» применяется в поле Найти, а конструкция «$N» — в поле Заменить. Где «N» — это цифра. Ссылка на первое совпадение обозначается как «\1» в поле Найти и как «$1» в поле Заменить, ссылка на второе совпадение — как «\2» и «$2» соответственно, и так далее.

Например, регулярное выражение "(890)xy\1z\1" совпадает с "890xy890z890".

Если в поле «Найти» ввести регулярное выражение "(fruit|truth)b", а в поле «Заменить» — выражение "$1ful", то слова «fruit» и «truth» будут заменены на «fruitful» и «truthful» соответственно. Примечание: метасимвол "b" исключает совпадение со словами «fruitfully» или «truthfully».

[:alpha:] | Соответствует буквенному символу. Для поиска таких символов используйте [:alpha:].
\d [:digit:] | Соответствует десятичной цифре. Для их поиска используйте [:digit:].
[:alnum:] | Представление алфавитно-цифрового символ ([:alpha:] и [:digit:]).
\s [:space:] | Представляет символ пробела (но не другие пробельные символы).
[:print:] | Представление печатаемого символа.
[:cntrl:] | Представление непечатаемого символа.
[:lower:] | Представление строчной буквы, если выбрано значение Учитывать регистр в поле Параметры.
[:upper:] | Соответствует символу в верхнем регистре, если установлен флажок Учитывать регистр в области Параметры.

Элементы регулярных выражений можно комбинировать для создания сложных и продуманных шаблонов поиска, как показано в последующих примерах.

## Примеры

Выражение | Значение
--- | ---
^$ | Пустой абзац. ^ указывает, что совпадение должно быть в начале абзаца, $ указывает на то, что знак абзаца или конца ячейки должен следовать за совпадающей строкой.
^. | Первый символ абзаца. ^ указывает, что совпадение должно быть в начале абзаца, . совпадает с любым одиночным символом.
e([:digit:])? | Совпадает с одиночным символом «e» или с символом «e», за которым следует одна цифра. e совпадает с символом «e», [:digit:] совпадает с любой десятичной цифрой, ? указывает на ноль или одно вхождение [:digit:].
^([:digit:])$ | Совпадает с абзацем или ячейками, содержащими строго одну цифру. ^ указывает, что совпадение должно быть в начале абзаца, [:digit:] совпадает с любой десятичной цифрой, $ указывает на то, что знак абзаца или конца ячейки должен следовать за совпадающей строкой.
^[:digit:]{3}$ | Совпадает с абзацем или ячейкой, содержащей ровно одно трёхзначное число. ^ указывает, что совпадение должно быть в начале абзаца, [:digit:] совпадает с любой десятичной цифрой, {3} указывает на то, что [:digit:] должен иметь три вхождения, $ указывает на то, что знак абзаца или конца ячейки должен следовать за совпадающей строкой.

\bconst(itu|ruc)tion\b

Совпадает со словами «constitution» и «construction» но не со словом «constitutional.»

\b обозначает, что совпадение должно начинаться на границе слова,

const обозначает символы «const»,

( начинает группу,

itu обозначает символы «itu»,

| обозначает альтернативный вариант,

ruc обозначает символы «ruc»,

) завершает группу,

tion указывает на символы «tion»,

\b указывает на то, что совпадение должно заканчиваться на границе слова.

См. также

ICU Regular Expressions documentation(«Документация по регулярным выражениям ICU»)

Найти и заменить

Использование регулярных выражений в текстовом поиске

Поиск и замена в Writer

Wiki-страница о регулярных выражениях в Writer

Wiki-страница о регулярных выражениях в Calc

Пожалуйста, поддержите нас!