Conteúdo
Índice 🔎︎

# Lista de expressões regulares

Termo | Representação/Utilização
Qualquer caractere | O próprio caractere, exceto se for um meta caractere de uma expressão regular . A lista de meta caracteres segue na tabela abaixo.
. | Representa qualquer caractere único, exceto uma quebra de linha ou de parágrafo. Por exemplo, o termo de pesquisa "sh.rt" retornará tanto "shirt" como "short".
^ | O início de um parágrafo ou célula. Serão ignorados objetos especiais, tais como campos vazios ou quadros ancorados em um caractere no início do parágrafo. Exemplo: "^Peter" confere a palavra "Peter" somete se for a primeira palavra de um parágrafo.

$

O fim de um parágrafo ou célula. Serão ignorados objetos especiais, tais como campos vazios ou quadros ancorados em um caractere no final do parágrafo. Exemplo: "Peter$" verifica somente se a palavra "Peter" for a última palavra de um parágrafo e note que a palavra "Peter" não pode ser seguida de um ponto.

$ sozinho representa um fim de parágrafo. Desta forma, é possível localizar e substituir quebras de parágrafos.

* | Localiza zero ou mais termos da expressão regular que imediatamente precede. Por exemplo, "Ab*c" localizará "Ac", "Abc", "Abbc", "Abbbc", e assim por diante.
+ | Localiza um ou mais termo da expressão regular que a precede imediatamente. Por exemplo, "AX.+4" localizará "AXx4", mas não "AX4". Localiza sempre a cadeia de caracteres mais longa possível que corresponde a esse padrão de pesquisa em um parágrafo. Se o parágrafo contém a cadeia de caracteres "AX 4 AX4", todo o trecho será realçado.
? | Localiza zero ou um dos termos de expressão regular que o precede imediatamente. Por exemplo, "Texts?" localizará "Text" e "Texts", e "x(ab|c)?y" localizará "xy", "xaby" ou "xcy".
\ | A pesquisa interpreta o caractere especial que segue o "\" como um caractere normal, e não como uma expressão regular (exceto para as combinações " \n", "\t", "\>" e "\<"). Por exemplo, "tree\." localizará "tree.", mas não "treed" ou "trees".

\n

Uma quebra de linha inserida com o atalho Shift+Enter quando dentro da caixa de texto Localizar.

Uma quebra de parágrafo que pode ser inserida com as teclas Enter ou Return quando na caixa de texto Substituir no Writer. Sem significado no Calc, que então é tratada literalmente.

Para mudar uma quebra de linha em uma quebra de parágrafo, insira \n em ambas as caixas Localizar e Substituir, e execute a pesquisa e substituição.

\t | Representa uma tabulação. A expressão também pode usada na caixa Substituir.
\b | Limites da palavra. Por exemplo, "\bbook" localiza "bookmark" mas não localiza "checkbook" enquanto que "book\b" localiza "checkbook" mas não "bookmark". Note que esta forma substitui as formas obsoletas (ainda que funcionem) "\>" (verifica o fim da palavra) e "\<" (verifica o começo da palavra).
^$ | Localiza um parágrafo em branco.
^. | Procura o primeiro caractere de um parágrafo.

& ou $0

Adiciona a cadeia de caracteres que foi localizada como critério de pesquisa na caixa Localizar ao termo na caixa Substituir quando realizar a substituição.

Por exemplo, ao digitar "cama" na caixa Localizar e "&leão" na caixa Substituir, a palavra "cama" será substituída por "camaleão".

Você também pode digitar um "&" na caixa Substituir para modificar apenas os Atributos ou os Formatos da cadeia de caracteres que foi usada como critério de pesquisa.

[...]

Qualquer ocorrência única de qualquer dos caracteres entre os colchetes. Por exemplo: "[abc123]" localiza os caracteres 'a', 'b', 'c', '1', '2', '3'. "[a-e]" localiza ocorrências únicas dos caracteres 'a' até 'e', inclusive (o intervalo deve ser especificado pelo caractere que possui o menor código Unicode primeiro). "[a-eh-x]" localiza qualquer caractere único dos caracteres nos intervalos 'a' até 'e' e 'h' até 'x'.

[^...] | Qualquer ocorrência única de um caractere, incluindo tab, espaço e quebra de linha, que não estiver na lista de caracteres especificado, sendo que intervalos são permitidos. Por exemplo "[^a-syz]" localiza todos os caracteres que não estão no intervalo 'a' até 's' e nem os caracteres 'y' e 'z'.

\uXXXX

\UXXXXXXXX

Representa um caractere baseado nos quatro dígitos hexadecimais de um código Unicode (XXXX).

Representa um caractere baseado nos oito dígitos hexadecimais de um código Unicode (XXXXXXXX).

Para algumas fontes de símbolos, o símbolo (glifo) visto na tela pode parecer relacionado a um código Unicode diferente daquele utilizado na fonte. Os códigos Unicode podem ser vistos escolhendo Inserir - Caracteres especiais, ou utilizando o atalho para conversão Unicode.

| | O caractere delimitador de alternativas. Pesquisa os termos que ocorrem antes de "|" e também pesquisa os termos que ocorrem após a "|". Por exemplo, "this|that" encontra "this" e "that".
{N} | O operador de repetição posterior que define o número exato de ocorrências ("N") que o termo da expressão regular anterior dever existir. Por exemplo, "tre{2}" localizará "tree".
{N,M} | O operador de repetição pós-fixado que especifica um intervalo (mínimo de "N" a um máximo de "M") ocorrências do termo da expressão regular que imediatamente o precede e que pode ser presente para uma ocorrência acontecer. Por exemplo, "tre{1,2}" verifica "tre" e "tree".
{N,} | O operador de repetição pós-fixado que define o intervalo (mínimo "N" a um máximo não especificado) de ocorrências to termo da expressão regular imediatamente anterior ( o número máximo de ocorrências é limitado ao tamanho do documento). Por exemplo, "tre{2,}" verifica "tree", "treeee", e "treeeeeeee".

(...)

A construção de grupos serve a três propósitos.

1. Para envolver um conjunto de alternativas '|'. Por exemplo, a expressão regular "b(oo|ac)k" verifica "book" e "back".

2. Para agrupar termos em uma expressão complexa a ser operada somente por operadores pós-fixados: "*", "+" e "?" junto com os operadores pós-fixados de repetição. Por exemplo, a expressão regular "a(bc)?d" confere "ad" e "abcd" na pesquisa. A expressão regular "M(iss){2}ippi" confere "Mississipi".

3. Para gravar o texto que ocorreu dentro dos parênteses como referência para utilização posterior na caixa Localizar utilizando a construção "\n" ou na caixa Substituir utilizando a construção "$n". A referência da primeira ocorrência na expressão é representada por "\1" na caixa Localizar e "$1" na caixa Substituir. A segunda ocorrência é referenciada por "\2" e "$2" respectivamente, e assim por diante.

Por exemplo, a expressão regular "(890)7\1\1" confere "8907890890".

Com a expressão regular "\b(fruit|truth)\b" na caixa Localizar e a expressão regular "$1ful" na caixa Substituir, as ocorrências das palavras "fruit" e "truth" podem ser substituídas pelas palavras "fruitful" e "truthful" respectivamente sem afetar as palavras "fruitfully" e "truthfully".

[:alpha:] | Representa um caractere alfabético. Utilize [:alpha:]+ para achar um ou mais deles.
[:digit:] | Representa um dígito decimal. Utilize [:digit:]+ para achar um ou mais deles.
[:alnum:] | Representa um caractere alfanumérico ([:alpha:] e [:digit:]).
[:space:] | Representa um caractere de espaço (mas não outro caractere de espaço em branco).
[:print:] | Representa um caractere imprimível.
[:cntrl:] | Representa um caractere não-imprimível.
[:lower:] | Representa um caractere em minúsculas se a opção Diferenciar maiúsculas de minúsculas estiver selecionada em Opções.
[:upper:] | Representa um caractere em maiúscula se a opção Diferenciar maiúsculas de minúsculas estiver selecionada em Opções.

Para uma lista completa de metacaracteres e sintaxe, veja a documentação das expressões regulares ICU

Note que todas classes de termos [:alpha:] até [:upper:], devem ser evolvidas em parênteses quando usadas em expressões regulares, veja os exemplos que seguem.

Os termos de expressões regulares podem ser combinados para formar pesquisas de expressões regulares complexas e sofisticadas como mostrado nos exemplos seguintes.

## Exemplos

Expressão | Significado
^$ | Um parágrafo vazio. ^ especifica que a ocorrência dever estar no início de um parágrafo, $ especifica qual a marca de parágrafo ou fim de uma célula deve conferir o texto.
^. | O primeiro caractere de um parágrafo. ^ especifica que a ocorrência dever estar no início de um parágrafo, . especifica qualquer caractere.
e([:digit:])? | Verifica "e" por si mesmo ou um "e" seguido de um dígito. e especifica o caractere "e". [:digit:] especifica qualquer dígito decimal, ? especifica zero ou uma ocorrência de [:digit:].
^([:digit:])$ | Verifica um parágrafo ou célula contendo exatamente um dígito. ^ especifica que a ocorrência dever estar no início de um parágrafo, [:digit:] especifica qualquer dígito decimal, $ especifica qual a marca de parágrafo ou fim de uma célula deve conferir o texto.
^[:digit:]{3}$ | Verifica um parágrafo ou célula contendo somente números de três dígitos. ^ especifica que a ocorrência dever estar no início de um parágrafo, [:digit:] especifica qualquer dígito decimal, {3} especifica que [:digit:] deve ocorrer três vezes. $ especifica qual a marca de parágrafo ou fim de uma célula deve conferir o texto.

\bconst(itu|ruc)tion\b

Verifica as palavras "constitution" e "construction" mas não verifica a palavra "constitutional",

\b especifica que a ocorrência deve estar no começo de uma palavra,

const especifica os caracteres "const",

{ inicia o grupo,

itu especifica os caracteres "itu",

| especifica a alternativa,

ruc especifica os caracteres "ruc",

) termina o grupo,

tion especifica os caracteres "tion",

\b especifica que a ocorrência deve terminar num limite de palavra.

Tópicos relacionados

Localizar e substituir

Utilizar expressões regulares em pesquisas de texto

Localizar e substituir no Writer

Pagina wiki sobre expressões regulares no Writer

Página wiki sobre expressões regulares no Calc