Съдържание

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

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

Клетките с празен низ ("") не са еквивалентни на празни клетки. Когато се извършва търсене или изчисление с текст, празният низ "" представлява текст с нулева дължина.

Терм | Представяне/употреба
--- | ---
Произволен знак | Дадения знак, освен ако е метазнак на регулярните изрази. Списъкът на метазнаците следва в тази таблица.
. | Произволен единичен знак с изключение на знак за нов ред или нов абзац. Например изразът за търсене „ша.ка“ ще съвпадне както с „шапка“, така и с „шарка“.
^ | Начало на абзац или клетка. Специалните обекти в началото на абзаца, например празни полета или рамки, закотвени като знаци, се пренебрегват. Пример: „^Петър“ съответства на думата „Петър“ само когато е първата дума от абзац.
$ | Край на абзац или клетка. Специалните обекти в края на абзаца, например празни полета или рамки, закотвени като знаци, се пренебрегват. Пример: „Петър$“ съответства на думата „Петър“ само когато е последната дума от абзац; забележете, че след нея не трябва да има точка. $ сам по себе си съвпада с края на абзац. По този начин могат да се търсят и заменят знаци за нов абзац.
* | Нула или повече съвпадения на терма непосредствено преди звездичката. Например с „Аб*в“ ще намерите „Ав“, „Абв“, „Аббв“, „Абббв“ и т.н.
+ | Едно или повече съвпадения на терма непосредствено преди плюса. Например с „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 | Съвпада с произволен словообразуващ знак.
\W | Съвпада с произволен несловообразуващ знак.
^$ | Търсене на празен абзац.
^. | Търсене на първия знак от абзац.
& или $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,}“ съвпада с „даа“, „дааа“ и „дааааа“.
(...) | Конструкция за групиране, която служи за три цели. Ограждане на набор от отделени с „|“ алтернативи. Например регулярният израз „к(ан|ол)а“ съвпада с „кана“ и с „кола“. Групиране на термове в сложен израз, за да се приложи върху тях постфиксен оператор като „*“, „+“, „?“ или някой от постфиксните оператори за повторение. Например регулярният израз „а(бв)?г“ съвпада с „аг“ и „абвг“, а „М(ис){2}ипи“ съвпада с „Мисисипи“. Обозначаване на съвпадащия подниз в скобите за по-късно използване. Конструкцията „\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 (на английски)

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

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

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

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

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