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

Регулярні вирази описують шаблони в рядках, які можна використовувати для визначення, чи відбувається заданий шаблон у тексті чи ні.

У TreeSize регулярні вирази можуть бути використані для знаходження конкретних файлів та / або папок, які відповідають критеріям, зазначеним регулярними виразами. Підтримується список спеціальних символів.

Наступна таблиця показує деякі з найвикористовуваніших синтаксисів та наводить кілька прикладів:

Вираз

Синтаксис

Опис

Приклад

Будь-який символ

.

Відповідає будь-якому одному символу, крім розриву рядка.

a.o відповідає «aro» у «around» та «abo» у «about», але не «acro» у «across».

Нуль або більше

*

Відповідає нулю або більше входженням попереднього виразу та робить всі можливі збіги.

a*b відповідає «b» у «bat» та «ab» у «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 (|), або виразу після нього. В основному використовується в групі.

(sponge|mud) відповідає «sponge bath» та «mud bath».

Символ ескейпу

\

Відповідає символу, що йде після зворотного слешу (\) як літерал. Це дозволяє знаходити символи, які використовуються в нотації регулярних виразів, такі як { та ^.

\^ шукає символ ^.

Повторити 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/ (завантажити)