Skip to content
Върнете се в началото

# Регулярни изрази

Регулярни изрази описват шаблони в низове, които могат да се използват, за да се определи дали даден шаблон се среща в текст или не.

В TreeSize редовните изрази могат да се използват за намиране на специфични файлове и/или папки, които отговарят на критериите, зададени от редовните изрази. Поддържа се списък на специални символи.

Следната таблица показва някои от най-използваните синтаксиси и предоставя няколко примера:

Израз | Синтаксис | Описание | Пример
--- | --- | --- | ---
Всеки символ | `.` | Съвпада с всеки един символ, с изключение на нов ред. | `a.o` съвпада с „аро“ в „around“ и „або“ в „about“, но не и с „акро“ в „across“.
Нула или повече | `*` | Съвпада с нула или повече срещания на предходния израз и прави всички възможни съвпадения. | `a*b` съвпада с „б“ в „bat“ и „аб“ в „about“. `e.*e` съвпада с думата „enterprise“.
Едно или повече | `+` | Съвпада с поне едно срещане на предходния израз. | `ac+` съвпада с думи, които съдържат буквата „a“ и поне един екземпляр на „c“, като „race“ и „ace“. `a.+s` съвпада с думата „access“.
Начало на низ | `^` | Съвпада с началото на низ. | `^[0-9]` съвпада с низове, които започват с цифра.
Край на низ | `$` | Сравнява се с края на низ. | `exe$` съвпада с низове, които завършват с „exe“.
Начало на дума | `[[:<:]]` | Сравнява се само когато дума започва в тази точка в текста. | `[[:<:]]in` съвпада с думи като „inside“ и „into“, които започват с буквите „in“.
Край на дума | `[[:>:]]` | Сравнява се само когато дума завършва в тази точка в текста. | `ss[[:>:]]` съвпада с думи като „across“ и „loss“, които завършват с буквите „ss“.
Всеки един символ от набора | `[]` | Сравнява се с всеки един от символите в []. За да се определи диапазон от символи, посочете началния и крайния символ, разделени с тире (-), както в [a-z]. | `be[n-t]` съвпада с „bet“ в „between“, „ben“ в „beneath“ и „bes“ в „beside“, но не и с „bel“ в „below“.
Всеки един символ, който не е в набора | `[^...]` | Сравнява се с всеки символ, който не е в набора от символи, който следва `^`. | `be[^n-t]` съвпада с „bef“ в „before“, „beh“ в „behind“ и „bel“ в „below“, но не и с „ben“ в „beneath“.
Или | `|` | Съвпада с израза преди или след символа OR (|). Основно се използва в група. | `(гъба|кал)` съвпада с „гъбена вана“ и „кална вана“.
Символ за ескейп | `\` | Съвпада с символа, който следва след обратния наклонена черта (`\`) като литерал. Това позволява да намерите символите, които се използват в нотацията на регулярни изрази, като `{` и `^`. | `\^` търси символа `^`.
Повторение n пъти | `{n}` | Съвпада с n повторения на предходния израз. | `[0-9]{4}` съвпада с всяка 4-цифрена последователност.
Групиране | `()` | Позволява ви да групирате набор от изрази заедно. Ако искате да търсите два различни израза в едно търсене, можете да използвате израза за групиране, за да ги комбинирате. | Ако искате да търсите `[a-z][1-3]` или `[0-9][a-z]`, можете да ги комбинирате: `([a-z][1-3])|([0-9][a-z])`.

## Повече примери

Регулярен израз | Случай на употреба
--- | ---
`[0-9]` или `\d` | Намерете всички файлове/папки с поне една цифра в името си.
`a|b` | Намерете всички файлове/папки, съдържащи „a“ или „b“ в името си.
`[^(A-Za-z)]` | Намерете всички файлове/папки, съдържащи поне един символ в името си, който не е в диапазона A-Z или a-z.
`^E[0-9]{7}$` | Намерете всички файлове/папки, които започват с „E“, последвано точно от 7 цифри.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | Намерете всички файлове/папки с дълбочина на папката поне 2 и най-много 4.
`[^\x00-\x7F]` | Намерете всички файлове/папки с невалидни ASCII символи.
`[^\P{C}]` | Намерете всички файлове/папки с Unicode символи, които не могат да бъдат отпечатани.
`[\xA0]` | Намерете всички имена на файлове/папки, които съдържат символа за неразривно пространство (Unicode NOBR, U+00A0) вместо нормален символ за пространство.
`[~\""#%&\*\:<>\?\/\\{|}]` | Намерете всички имена на файлове и папки, които съдържат символи, които са невалидни на сървъри SharePoint.
`^\s+.*` | Намерете всички файлове и папки с водещо пространство.
`\s+(\.[^.]+)$` | Намерете файлове с разширение, които имат интервал в края на името си.
`.*\s+$` | Намерете папки с интервал в края на името си.

## Инструменти за създаване на регулярни изрази

https://regex101.com/ (онлайн)

http://regexpal.com/ (онлайн)

http://sourceforge.net/projects/regexpeditor/ (изтегляне)

http://sourceforge.net/projects/regextester/ (изтегляне)

http://sourceforge.net/projects/regaxe/ (изтегляне)