Além dos operadores descritos na secção de pesquisa avançada, o DocGoblin também lhe permite usar caracteres universais e expressões regulares para criar padrões de pesquisa mais flexíveis.

Caracteres universais

Os caracteres universais são caracteres especiais que substituem um ou mais caracteres numa palavra. Os dois caracteres universais disponíveis são ? e *.

O caractere universal ? substitui um único caractere. Por exemplo, a pesquisa te?t encontrará test, text e qualquer outra palavra de quatro letras que comece por te e termine por t.

O caractere universal * substitui zero ou mais caracteres. Por exemplo, a pesquisa test* encontrará test, tests, testing e qualquer outra palavra que comece por test.

Pode combinar ambos os caracteres universais numa única pesquisa. Por exemplo, a pesquisa t?st* encontrará test, testing, tastes e qualquer outra palavra que corresponda a este padrão.

Expressões regulares

As expressões regulares (regex) são uma forma poderosa de descrever padrões de texto. O DocGoblin suporta um subconjunto da sintaxe regex através do Apache Lucene.

Para utilizar uma regex na sua pesquisa, coloque o padrão entre barras: /pattern/. As secções seguintes descrevem as construções regex mais úteis.

Qualquer caractere

O ponto . corresponde a qualquer caractere individual. É o equivalente regex do caractere universal ?.

Exemplos:

Uma ou mais ocorrências

O sinal de mais + corresponde a uma ou mais ocorrências do caractere precedente.

Exemplo (corresponde a der, deer, deeer, etc.):

Zero ou mais ocorrências

O asterisco * corresponde a zero ou mais ocorrências do caractere precedente.

Exemplo (corresponde a wd, wed, weed, etc.):

Zero ou uma ocorrência

O ponto de interrogação ? corresponde a zero ou uma ocorrência do caractere precedente, tornando-o opcional.

Exemplo (corresponde a wed e weed):

Ocorrências mínimas e máximas

As chavetas {} permitem-lhe especificar um número exato ou um intervalo de ocorrências do caractere precedente:

Exemplos:

Agrupamento

Os parênteses () permitem-lhe agrupar caracteres para que os quantificadores se apliquem a todo o grupo em vez de a um único caractere.

Exemplos:

Alternância

A barra vertical | corresponde à expressão à sua esquerda ou à expressão à sua direita. É tipicamente utilizada dentro de um grupo.

Exemplo (corresponde a preparations e proportions):

Classes de caracteres

As classes de caracteres permitem-lhe fazer corresponder um único caractere a um conjunto de caracteres.

Define uma classe de caracteres colocando os caracteres aceites entre parênteses retos []. Pode também especificar um intervalo de caracteres utilizando um hífen -.

Formas disponíveis:

Como mostrado acima, o acento circunflexo ^ no início de uma classe de caracteres nega-a, correspondendo a qualquer caractere que não esteja no conjunto.

As classes de caracteres podem ser combinadas com todas as outras construções regex para criar padrões de pesquisa complexos.

Para recuperar a cadeia «weed», pode ser utilizada a seguinte expressão:

Saber mais

O DocGoblin utiliza o motor de regex do Apache Lucene. Para a referência completa da sintaxe, consulte a documentação oficial do Lucene.

Se pretender experimentar expressões regulares num ambiente de testes, experimente regex101.com, um testador regex online gratuito.