Ir para o conteúdo principal
Workday User Guide
Última atualização: 2023-06-23
Quantificadores de expressão regular

Quantificadores de expressão regular

Construções de qualificador

Os qualificadores especificam com que frequência deve corresponder o construto de expressão regular anterior. As classes de qualificadores são:
  • Guloso
  • Relutante
  • Possessivo
A diferença entre os quantificadores locais, relutantes e Possessivos envolve qual parte da cadeia de caracteres tentar para a correspondência inicial e como tentar novamente se a tentativa inicial não produzir uma correspondência.
Por padrão, os quantificadores são
espontâneos
. Um quantificador vidrado tenta primeiro encontrar uma correspondência com toda a cadeia de caracteres de entrada. Se isso produz uma correspondência, então a correspondência é considerada um êxito e o mecanismo pode passar para o próximo construtor na expressão regular. Se a primeira tentativa não produz uma correspondência, o mecanismo retira um caractere de cada vez até encontrar uma correspondência. Portanto, um quantificador veloz verifica as possíveis correspondências em ordem, da cadeia de caracteres de entrada mais longa até a cadeia de caracteres de entrada mais curta, tentando recursivamente da direita para a esquerda.
Adicionando um
?
(período de interrogação) para um quantificador inveterado torna-o
relutante em
. Um quantificador relutante primeiro tenta encontrar uma correspondência desde o início da cadeia de caracteres de entrada, começando com o trecho mais curto possível da cadeia de caracteres que corresponde à construção de expressão regular. Se isso produz uma correspondência, então a correspondência é considerada um êxito e o mecanismo pode passar para o próximo construtor na expressão regular. Se a primeira tentativa não produz uma correspondência, o mecanismo adiciona um caractere por vez até encontrar uma correspondência. Portanto, um quantificador relutante verifica as possíveis correspondências na ordem da cadeia de caracteres de entrada mais curta possível até a cadeia de caracteres de entrada mais longa, tentando recursivamente da esquerda para a direita.
Adicionando um
+
(sinal de mais) para um quantificador sendo sendo
Possessivo
. Um qualificador Possessivo é como um qualificador consolidação da primeira tentativa (ele tenta encontrar uma correspondência com toda a cadeia de caracteres de entrada). A diferença é que, ao contrário de um qualificador consolidação de falta de correspondência, o qualificador possuidor não tenta repetir uma cadeia de caracteres mais curta se não encontra uma correspondência. Se a correspondência inicial falha, o quantificador possuidor relata uma correspondência com falha. Ele não faz mais tentativas.
Construções locatários
Construto relutante
Construtivo Possessivo
Descrição
Exemplo
?
??
?+
Corresponde ao caractere ou construto anterior uma vez ou não corresponde.
st?on
corresponde a "son" em "johnson" e "ston" em "johnston", mas nada em " Cliton" ou "versão"
*
*?
*+
Corresponde ao caractere ou construtor anterior zero ou mais vezes.
if*
corresponde a "if", "iff" em "diff" ou "i" em "print"
+
+?
++
Corresponde ao caractere ou construtor anterior uma ou mais vezes.
if+
corresponde a "if", "iff" em "diff", mas nada em "print"
{n}
{n}?
{n}+
Corresponde ao caractere anterior ou construir exatamente
n
vezes.
o{2}
corresponde a "co" em "lookup" e aos dois primeiros "os" em "foaaa", mas nada em "mount"
{n,}
{n,}?
{n,}+
Corresponde ao caractere ou construtor anterior pelo menos
n
vezes.
o{2,}
corresponde a todos os 5 o em "o" em "lookup", mas nada em "mount"
{n,m}
{n,m}?
{n,m}+
Corresponde ao caractere ou construtor anterior pelo menos
n
vezes, mas não mais do que
m
vezes.
F{2,4}
corresponde a "FF" em "#FF0000" e aos últimos 4 F's em "#FFFFFF"