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

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

В 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/ (изтегляне)