Partilhar via


Quantificadores em JScript

Se você não pode especificar o número de caracteres que constituem uma correspondência, expressões regulares suporte o conceito de quantificadores.Esses quantificadores permitem que você especifique quantas vezes um determinado componente de uma expressão regular deve ocorrer uma correspondência ser verdade.

O que dizer quantificadores

Caracterer

Descrição

*

Coincide com o caractere precedente ou subexpressão zero ou mais vezes.Por exemplo, zo * corresponde z e zoo.* é equivalente a {0}.

+

Coincide com o caractere anterior ou a subexpressão uma ou mais vezes.Por exemplo, zo + corresponde a zo e zoo, mas não z.+ equivale a {1}.

?

Coincide com o caractere precedente ou subexpressão zero ou uma time.Por exemplo, do(es)?corresponde a fazer em fazer ou não.?é equivalente a 0,1 {}

{n}

n é um número inteiro não negativo.Corresponde exatamente n horários.Por exemplo, o {2} não coincide com o de Bob mas corresponde aos dois de alimentos.

{n,}

n é um número inteiro não negativo.Coincide pelo menos n horários.Por exemplo, o {2} não coincide com o de Bob e coincide com todos os ' s em foooood.o {1}, é equivalente ao +.o {0}, equivale ao *.

{n,m}

m and n são inteiros não negativos, onde n <= m.Coincide pelo menos n e no máximo m horários.Por exemplo, o {1,3} corresponde as ' três primeiros s em fooooood.o {0,1} equivale ao?.Observe que não é possível inserir um espaço entre o ponto-e-vírgula e os números.

Como números de capítulo poderiam com com facilidade exceder nove em um documento de entrada grande, você precisa de uma maneira de lidar com dois ou três números de capítulo de dígito.Quantificadores oferecem esse recurso.A seguinte expressão regular corresponde os títulos de capítulo com qualquer número de dígitos:

/Chapter [1-9][0-9]*/

Observe que o quantificador aparece depois da expressão de intervalo.Portanto, ela se aplica a expressão intervalo inteiro que, nesse caso, especifica somente dígitos de 0 a 9, inclusive.

O + quantificador não é usado aqui porque não necessariamente precisa ser um dígito na posição segunda ou subseqüente.O?também caractere não é usada porque ela limita os números de capítulo somente dois dígitos.Você deseja corresponder a pelo menos um dígito seguinte capítulo e um caractere de espaço.

Se você souber que números de capítulo seja limitados aos capítulos apenas 99, você pode usar a expressão a seguir para especificar pelo menos uma, mas não mais de dois dígitos.

/Chapter [0-9]{1,2}/

A desvantagem da expressão acima é que um número de capítulo maior que 99 corresponderá somente os dois primeiros dígitos.Outra desvantagem é que corresponderia capítulo 0.Melhores expressões para correspondência apenas dois dígitos são:

/Chapter [1-9][0-9]?/

ou

/Chapter [1-9][0-9]{0,1}/

O *, +, e?quantificadores são todas as chamadas sistema autônomo greedy porque eles coincidem sistema autônomo texto muito sistema autônomo possíveis.No entanto, às vezes, você apenas quer uma correspondência mínimo.

Por exemplo, você pode estar pesquisando um documento HTML para uma ocorrência de um título de capítulo incluído em uma marca H1.Esse texto aparece no seu documento sistema autônomo:

<H1>Chapter 1 – Introduction to Regular Expressions</H1>

A expressão a seguir corresponde a tudo, desde a abertura de menor que (&lt;) de símbolo para a mais de símbolo (&gt;), que fecha a marca H1.

/<.*>/

<h1>Se desejar somente coincidir com a marca de abertura H1, as seguir, não greedy correspondências de expressões apenas < H1 >.

/<.*?>/

Colocando o?Depois de um *, +, ou?quantificador, a expressão é transformado em um greedy a uma correspondência não greedy ou mínima.

Consulte também

Outros recursos

Introdução a expressões regulares