Sumário

# Lista de expressões regulares

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

Células com texto vazio ("") não são equivalentes a células em branco. Ao pesquisar ou calcular com texto, o texto vazio "" é o texto com comprimento zero.

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 num 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 num 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 num 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

Quando inserido na caixa de texto Localizar, localiza uma quebra de linha, inserida com a combinação de teclas Shift+Enter no Writer ou Ctrl+Enter numa célula Calc.

Quando inserido na caixa de texto Substituir no Writer, insere uma quebra de parágrafo que pode ser inserida com a tecla Enter ou Return. Não tem nenhum significado especial em Calc e é tratado literalmente lá.

Para mudar uma quebra de linha numa 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 "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).
\w | Corresponde a um caractere de uma palavra
\W | Corresponde a um caractere fora de uma 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.

\N{UNICODE CHARACTER NAME} | Confere com o nome Unicode do caractere. Alguns caracteres Unicode nomeados notáveis são SPACE, NO-BREAK SPACE, SOFT HYPHEN, ACUTE ACCENT, CIRCUMFLEX ACCENT, GRAVE ACCENT. O nome Unicode de um caractere pode ser pesquisado e visualizado ao escolher Inserir - Caracteres especiais.
| | 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 numa expressão complexa a ser operada pelos operadores de pós-fixação: "*", "+" e "?" juntamente com os operadores de repetição pós-fixo. Por exemplo, a expressão regular "a(bc)?d" corresponde tanto a "ad" quanto a "abcd"; "M(iss){2}ippi" corresponde a "Mississippi".

3. Para referenciar a sub cadeia correspondente nos parênteses para uso posterior. A construção "\N" é usada na caixa Localizar, e a construção "$N" é usada na caixa Substituir. Como "N" é um dígito, a referência à primeira correspondência é representada por "\1" na caixa Localizar e por "$1" na caixa Substituir; "\2" e "$2" referem-se à segunda correspondência, e assim por diante.

Por exemplo, a expressão regular "(890)xy\1z\1" corresponde a "890xy890z890".

Com a expressão regular "(fruit|truth)\b" na caixa Localizar e a expressão de substituição "$1ful" na caixa Substituir, as ocorrências de "fruit" e "truth" são substituídas por "fruitful" e "truthful", respectivamente. Observação: "\b" impede a correspondência de "fruitful" ou "truthfully".

[:alpha:] | Representa um caractere alfabético. Utilize [:alpha:] para achar um ou mais deles.
\d [:digit:] | Representa um dígito decimal. Utilize [:digit:] para achar um ou mais deles.
[:alnum:] | Representa um caractere alfanumérico ([:alpha:] e [:digit:]).
\s [: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.

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

Documentação de expressões regulares ICU

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