Съдържание

# Списък на регулярните изрази

За пълен списък на поддържаните метазнаци и синтаксис вижте документацията за регулярни изрази на ICU (на английски).

Cells with the empty string ("") are not equivalent to blank cells. When searching or calculating with text, the empty string "" is the text with length zero.

Терм | Представяне/употреба
--- | ---
Произволен знак | Дадения знак, освен ако е метазнак на регулярните изрази. Списъкът на метазнаците следва в тази таблица.
. | Произволен единичен знак с изключение на знак за нов ред или нов абзац. Например изразът за търсене „ша.ка“ ще съвпадне както с „шапка“, така и с „шарка“.
^ | Начало на абзац или клетка. Специалните обекти в началото на абзаца, например празни полета или рамки, закотвени като знаци, се пренебрегват. Пример: „^Петър“ съответства на думата „Петър“ само когато е първата дума от абзац.
$ | Край на абзац или клетка. Специалните обекти в края на абзаца, например празни полета или рамки, закотвени като знаци, се пренебрегват. Пример: „Петър$“ съответства на думата „Петър“ само когато е последната дума от абзац; забележете, че след нея не трябва да има точка. $ сам по себе си съвпада с края на абзац. По този начин могат да се търсят и заменят знаци за нов абзац.
* | Нула или повече съвпадения на терма непосредствено преди звездичката. Например с „Аб*в“ ще намерите „Ав“, „Абв“, „Аббв“, „Абббв“ и т.н.
+ | Едно или повече съвпадения на терма непосредствено преди плюса. Например с „AБ.+4“ ще намерите „AБб4“, но не и „АБ4“. Винаги се намира най-дългият възможен низ в даден абзац, който съвпада с този регулярен израз. Ако абзацът съдържа низа „AБ 4 AБ4“, ще бъде маркиран целият откъс.
? | Нула или повече съвпадения на терма непосредствено преди въпросителната. Например „Текста?“ съвпада с „Текст“ и „Текста“, а „x(ab|c)?y“ – с „xy“, „xaby“ или „xcy“.
\ | Специалният знак, който следва, се тълкува като обикновен знак вместо като метазнак (изключения са комбинациите „\n“, „\t“, „\b“, „\>“ и „\<“). Например „три\.“ съвпада с „три.“, но не и с „трик“ или „трия“.

\n

Когато е въведен в полето Търсене, означава търсене на знак за нов ред, вмъкнат с клавишната комбинация Shift+Enter в Writer или Ctrl+Enter в клетка на Calc.

Когато е въведен в текстовото поле Замяна в Writer, вмъква знак за нов абзац, който може да бъде въведен с клавиша Enter или Return. В Calc няма специално значение и се интерпретира буквално.

За да заместите знаците за нов ред със знаци за нов абзац в Writer, въведете \n и в двете полета Търсене и Замяна, след което извършете търсене и замяна.

\t | Знак за табулация. Може да се използва и в полето Замяна.
\b | Граница на дума. Например „\bздрав“ съвпада със „здравей“ и „здрав“, но не и с „поздрав“, а „здрав\b“ съвпада с „поздрав“ и „здрав“, но не и със „здравей“. Обърнете внимание, че тази форма замества остарелите (макар все още поддържани засега) форми „\>“ (съвпада с края на дума) и „\<“ (съвпада с началото на дума).
\w | Match a word character.
\W | Match a non-word character.
^$ | Търсене на празен абзац.
^. | Търсене на първия знак от абзац.

& или $0

Когато извършвате замяна, добавя низа, намерен според критериите за търсене от полето Търсене, към израза в полетоЗамяна.

Например, ако въведете „прозорец“ в полето Търсене и „рамка на &“ в полето Замяна, думата „прозорец“ ще бъде заменена с „рамка на прозорец“.

Също така, можете да въведете „&“ в полето Замяна, за да промените атрибутите или формата (бутон Атрибути или Формат) на низа, намерен според критериите за търсене.

[...]

Единично срещане на кой да е от знаците между квадратните скоби. Например: „[абв123]“ съвпада със знаците „а“, „б“, „в“, „1“, „2“ и „3“. „[а-е]“ съвпада с единични срещания на знаците от „а“ до „е“ включително (при задаване на диапазона знакът с най-малък код в Уникод трябва да е първи). „[а-еи-ш]“ отговаря на единично срещане на който и да е знак в интервалите от „а“ до „е“ и от „и“ до „ш“.

[^...] | Единично срещане на произволен знак, включително за табулация, интервал и нов ред, който не е в зададените диапазони от знаци. Например „[^а-сюя]“ съвпада с всички знаци освен тези в диапазона от „а“ до „с“ включително, „ю“ и „я“.

\uXXXX

\UXXXXXXXX

Знакът, представен от четирицифрения шестнадесетичен код от Уникод (XXXX).

Знакът, представен от осемцифрения шестнадесетичен код в Уникод (XXXXXXXX).

За определени символни шрифтове символът (глифът), който виждате на екрана, може да изглежда свързан с различен код от Уникод, а не действително използвания за него в шрифта. Кодовете в Уникод могат да бъдат преглеждани с Вмъкване - Специален знак или с клавишната комбинация за преобразуване на Уникод.

\N{ИМЕ НА ЗНАК ОТ УНИКОД} | Съвпадение с наименувания знак от Уникод. Някои по-важни имена на знаци от Уникод са SPACE (интервал), NO-BREAK SPACE (твърд интервал), SOFT HYPHEN (меко тире), ACUTE ACCENT (остро ударение), CIRCUMFLEX ACCENT (циркумфлекс), GRAVE ACCENT (тежко ударение). Имената на знаците от Уникод могат да се търсят и преглеждат с Вмъкване - Специален знак.
| | Инфиксен оператор, с който се отделят алтернативи. Съвпада с терма преди „|“ или с терма след „|“. Например „това|онова“ съвпада със срещания както на „това“, така и на „онова“.
{N} | Постфиксен оператор за повторение, който указва, че за да се отчете съвпадение, трябва регулярният терм непосредствено преди него да се среща точен брой пъти („N“). Например „живе{2}“ съвпада с „живее“.
{N,M} | Постфиксен оператор за повторение, който указва допустим диапазон (минимум „N“, максимум „M“) за броя срещания на регулярния терм непосредствено преди него, така че да се отчете съвпадение. Например „чини{1,2}“ съвпада с „чини“ и „чинии“.
{N,} | Постфиксен оператор за повторение, който указва допустим диапазон (минимум „N“, без зададен максимум) за броя срещания на регулярния терм непосредствено преди него, така че да се отчете съвпадение. Например „да{2,}“ съвпада с „даа“, „дааа“ и „дааааа“.

(...)

Конструкция за групиране, която служи за три цели.

1. Ограждане на набор от отделени с „|“ алтернативи. Например регулярният израз „к(ан|ол)а“ съвпада с „кана“ и с „кола“.

2. Групиране на термове в сложен израз, за да се приложи върху тях постфиксен оператор като „*“, „+“, „?“ или някой от постфиксните оператори за повторение. Например регулярният израз „а(бв)?г“ съвпада с „аг“ и „абвг“, а „М(ис){2}ипи“ съвпада с „Мисисипи“.

3. Обозначаване на съвпадащия подниз в скобите за по-късно използване. Конструкцията „\N“ се използва в полето Търсене , а „$N“ – в полето Замяна. N е цифра, обръщението към първото съвпадение се представя с „\1“ в полето Търсене и с „$1“ в полето Замяна, към второто – съответно с „\2“ и „$2“ и т.н.

Например регулярният израз „(890)xy\1z\1“ съвпада с „890xy890z890“.

С регулярния израз „(плод|дар)\b“ в полето „Търсене“ и регулярния израз „$1овит“ в полето „Замяна“ срещанията на думите „плод“ и „дар“ се заместват съответно с „плодовит“ и „даровит“. Бележка: „\b“ предотвратява съвпадение с „плодовете“ или „даровете“.

[: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:] трябва да се среща три пъти, $ указва, че след съвпадащия низ трябва да следва знак за нов абзац или край на клетка.

\bконст(иту|рук)ция\b

Съвпада с думите „конституция“ и „конструкция“, но не и с „конституцията“.

\b указва, че съвпадението трябва да започва на границата на дума,

конст съответства на знаците „конст“,

( започва групата,

иту съответства на знаците „иту“,

| означава алтернатива,

рук съответства на знаците „рук“,

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

ция съответства на знаците „ция“,

\b указва, че съвпадението трябва да завършва на граница на дума.

Теми, свързани с показаната

Документация за регулярните изрази на ICU (на английски)

Find & Replace

Използване на регулярни изрази при търсене на текст

Търсене и замяна в Writer

Уикистраница относно регулярните изрази в Writer (на английски)

Уикистраница относно регулярните изрази в Calc (на английски)