Skip to content
Back to top

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

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

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