Skip to content
Back to top

# Expressões regulares

Expressões regulares descrevem padrões em strings que podem ser usados para determinar se um determinado padrão ocorre em um texto ou não.

No TreeSize, as expressões regulares podem ser usadas para localizar arquivos e/ou pastas específicos que correspondam aos critérios especificados pelas expressões regulares. Há suporte para uma lista de caracteres especiais.

A tabela a seguir mostra algumas das sintaxes mais usadas e fornece alguns exemplos:

Expressão | Sintaxe | Descrição | Exemplo
--- | --- | --- | ---
Qualquer caractere | `.` | Corresponde a qualquer caractere único, exceto uma quebra de linha. | `a.o` corresponde a “aro” em “around” e “abo” em “about”, mas não a “acro” em “across”.
Zero ou mais | `*` | Corresponde a zero ou mais ocorrências da expressão anterior e faz todas as correspondências possíveis. | `a*b` corresponde ao “b” em “bat” e ao “ab” em “about”. `e.*e` corresponde à palavra “enterprise”.
Um ou mais | `+` | Corresponde a pelo menos uma ocorrência da expressão anterior. | `ac+` corresponde a palavras que contêm a letra “a” e pelo menos uma instância de “c”, como “race” e “ace”. `a.+s` corresponde à palavra “access”.
Início da cadeia | `^` | Corresponde ao início de uma cadeia de caracteres. | `^[0-9]` corresponde a cadeias de caracteres que começam com um dígito.
Fim da cadeia | `$` | Corresponde ao final de uma cadeia de caracteres. | `exe$` corresponde a cadeias de caracteres que terminam com “exe”.
Início da palavra | `[[:<:]]` | Corresponde somente quando uma palavra começa nesse ponto do texto. | `[[:<:]]in` corresponde a palavras como “inside” e “into” que começam com as letras “in”.
Fim da palavra | `[[:>:]]` | Corresponde somente quando uma palavra termina nesse ponto do texto. | `ss[[[:>:]]` corresponde a palavras como “across” e “loss” que terminam com as letras “ss”.
Qualquer caractere do conjunto | `[]` | Corresponde a qualquer um dos caracteres em []. Para especificar um intervalo de caracteres, liste os caracteres iniciais e finais separados por um traço (-), como em [a-z]. | `be[n-t]` corresponde a “bet” em “between” (entre), “ben” em “beneath” (abaixo) e “bes” em “beside” (ao lado), mas não a “bel” em “below” (abaixo).
Qualquer caractere que não esteja no conjunto | `[^...]` | Corresponde a qualquer caractere que não esteja no conjunto de caracteres que segue o `^`. | `be[^n-t]` corresponde a “bef” em “before” (antes), “beh” em “behind” (atrás) e “bel” em “below” (abaixo), mas não a “ben” em “beneath” (abaixo).
Ou | `|` | Corresponde à expressão anterior ou posterior ao símbolo OR (|). Usado principalmente em um grupo. | `(sponge|mud)` corresponde a “sponge bath” (banho de esponja) e “mud bath” (banho de lama).
Caractere de escape | `\` | Corresponde ao caractere que segue a barra invertida (`\`) como um literal. Isso permite que você encontre os caracteres usados na notação de expressão regular, como `{` e `^`. | `\^` procura o caractere `^`.
Repetir n vezes | `{n}` | Corresponde a n ocorrências da expressão anterior. | `[0-9]{4}` corresponde a qualquer sequência de 4 dígitos.
Agrupamento | `()` | Permite que você agrupe um conjunto de expressões. Se você quiser pesquisar duas expressões diferentes em uma única pesquisa, poderá usar a expressão Grouping para combiná-las. | Se você quiser pesquisar `[a-z][1-3]` ou `[0-9][a-z]`, você deve combiná-los: `([a-z][1-3])|([0-9][a-z])`.

## Mais exemplos

Expressão regular | Caso de uso
--- | ---
`[0-9]` ou `\d` | Localize todos os arquivos/pastas com pelo menos um dígito em seu nome.
`a|b` | Localize todos os arquivos/pastas que contenham “a” ou “b” em seus nomes.
`[^(A-Za-z)]`` | Localize todos os arquivos/pastas que contenham pelo menos um caractere em seu nome que não esteja no intervalo A-Z ou a-z.
`^E[0-9]{7}$` | Localize todos os arquivos/pastas que começam com um “E” seguido de exatamente 7 dígitos.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | Encontre todos os arquivos/pastas com uma profundidade de pasta de no mínimo 2 e no máximo 4.
`[^\x00-\x7F]` | Localize todos os arquivos/pastas com caracteres ASCII inválidos.
`[^\P{C}]` | Localize todos os arquivos/pastas com caracteres Unicode que não podem ser impressos.
`[\xA0]` | Localize todos os nomes de arquivos/pasta que contenham o caractere de espaço não quebrável (Unicode NOBR, U+00A0) em vez de um caractere de espaço normal.
`[~\""#%&\*\:<>\?\/\\{|}]` | Encontre todos os nomes de arquivos e pastas que contenham caracteres inválidos nos servidores do SharePoint.
`^\s+.*` | Localize todos os arquivos e pastas com um espaço inicial.
`\s+(\.[^.]+)$` | Localize arquivos com uma extensão que tenham um espaço no final do nome.
`.*\s+$` | Localizar pastas com um espaço no final do nome.

## Ferramentas para criar expressões regulares

https://regex101.com/ (on-line)

http://regexpal.com/ (on-line)

http://sourceforge.net/projects/regexpeditor/ (download)

http://sourceforge.net/projects/regextester/ (download)

http://sourceforge.net/projects/regaxe/ (download)