Skip to content
Voltar ao início

# 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, expressões regulares podem ser usadas para encontrar ficheiros e / ou pastas específicos que correspondam aos critérios especificados pelas expressões regulares. Uma lista de caracteres especiais é suportada.

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

Expressão | Sintaxe | Descrição | Exemplo
--- | --- | --- | ---
Qualquer carácter | `.` | Corresponde a qualquer carácter ú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 a «b» em «bat» e «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 «aceder».
Início da string | `^` | Corresponde ao início de uma string. | `^[0-9]` corresponde a strings que começam com um dígito.
Fim da string | `$` | Corresponde ao final de uma string. | `exe$` corresponde a strings que terminam com «exe».
Início da palavra | `[[:<:]]` | Corresponde apenas quando uma palavra começa neste ponto do texto. | `[[:<:]]in` corresponde a palavras como «inside» e «into» que começam com as letras «in».
Fim da palavra | `[[:>:]]` | Corresponde apenas quando uma palavra termina neste ponto do texto. | `ss[[:>:]]` corresponde a palavras como «across» e «loss» que terminam com as letras «ss».
Qualquer um dos caracteres no conjunto | `[]` | Corresponde a qualquer um dos caracteres em []. Para especificar um intervalo de caracteres, liste os caracteres inicial e final separados por um hífen (-), como em [a-z]. | `be[n-t]` corresponde a «bet» em «between», «ben» em «beneath», e «bes» em «beside», mas não «bel» em «below».
Qualquer um dos caracteres que não estão 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», «beh» em «behind», e «bel» em «below», mas não «ben» em «beneath».
Ou | `|` | Corresponde à expressão antes ou à que está após o símbolo OR (|). Usado principalmente em um grupo. | `(esponja|lama)` corresponde a «banho de esponja» e «banho de lama».
Caractere de escape | `\` | Corresponde ao caractere que segue a barra invertida (`\`) como um literal. Isso permite encontrar os caracteres que são usados na notação de expressões regulares, como `{` e `^`. | `\^` procura pelo 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 agrupar um conjunto de expressões. Se você quiser procurar duas expressões diferentes em uma única busca, pode usar a expressão de Agrupamento para combiná-las. | Se você quiser procurar `[a-z][1-3]` ou `[0-9][a-z]`, você combinaria: `([a-z][1-3])|([0-9][a-z])`.

## Mais exemplos

Usar Expressão Regular: | Caso de Uso
--- | ---
`[0-9]` ou `\d` | Encontre todos os ficheiros/pastas com pelo menos um dígito no seu nome.
`a|b` | Encontre todos os ficheiros/pastas que contêm «a» ou «b» no seu nome.
`[^(A-Za-z)]` | Encontre todos os ficheiros/pastas que contêm pelo menos um carácter no seu nome que não esteja no intervalo A-Z ou a-z.
`^E[0-9]{7}$` | Encontre todos os ficheiros/pastas que começam com um «E» seguido exatamente de 7 dígitos.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | Encontre todos os ficheiros/pastas com uma profundidade de pasta de pelo menos 2 e no máximo 4.
`[^\x00-\x7F]` | Encontre todos os ficheiros/pastas com caracteres ASCII inválidos.
`[^\P{C}]` | Encontre todos os ficheiros/pastas com caracteres Unicode que não podem ser impressos.
`[\xA0]` | Encontre todos os nomes de ficheiros/pastas que contêm o carácter de espaço não separável (Unicode NOBR, U+00A0) em vez de um carácter de espaço normal.
`[~\""#%&\*\:<>\?\/\\{|}]` | Encontre todos os nomes de ficheiros e pastas que contêm caracteres que são inválidos em servidores SharePoint.
`^\s+.*` | Encontre todos os ficheiros e pastas com um espaço à frente.
`\s+(\.[^.]+)$` | Encontre ficheiros com uma extensão que tenham um espaço em branco no final do seu nome.
`.*\s+$` | Encontre pastas com um espaço em branco no final do seu nome.

## Ferramentas para criar expressões regulares

https://regex101.com/ (online)

http://regexpal.com/ (online)

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

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

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