Expressões regulares e objeto RegExp
Uma expressão regular é um objeto que descreve um padrão de caracteres.
O JavaScript RegExp classe representa expressões regulares, e tanto String quanto RegExp definir métodos que usam expressões regulares para executar funções poderosas de correspondência de padrões e pesquisa e substituição no texto.
Sintaxe
Uma expressão regular pode ser definida com o RegExp () construtor, como segue -
var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;
Aqui está a descrição dos parâmetros -
pattern - Uma string que especifica o padrão da expressão regular ou outra expressão regular.
attributes - Uma string opcional contendo qualquer um dos atributos "g", "i" e "m" que especificam correspondências globais, não diferenciam maiúsculas de minúsculas e multilinhas, respectivamente.
Colchetes
Os colchetes ([]) têm um significado especial quando usados no contexto de expressões regulares. Eles são usados para encontrar uma variedade de caracteres.
Sr. Não. | Expressão e Descrição |
---|---|
1 | [...] Qualquer caractere entre colchetes. |
2 | [^...] Qualquer caractere que não esteja entre colchetes. |
3 | [0-9] Corresponde a qualquer dígito decimal de 0 a 9. |
4 | [a-z] Corresponde a qualquer caractere de minúsculas a por meio de minúsculas z. |
5 | [A-Z] Corresponde a qualquer caractere em maiúsculas A através de maiúsculas Z. |
6 | [a-Z] Corresponde a qualquer caractere de minúsculas a através de maiúsculas Z. |
Os intervalos mostrados acima são gerais; você também pode usar o intervalo [0-3] para corresponder a qualquer dígito decimal de 0 a 3, ou o intervalo [bv] para corresponder a qualquer caractere minúsculo variando deb através v.
Quantificadores
A frequência ou posição das sequências de caracteres entre colchetes e caracteres únicos pode ser indicada por um caractere especial. Cada personagem especial tem uma conotação específica. Os sinalizadores +, *,? E $ seguem uma sequência de caracteres.
Sr. Não. | Expressão e Descrição |
---|---|
1 | p+ Corresponde a qualquer string contendo um ou mais p's. |
2 | p* Corresponde a qualquer string contendo zero ou mais p's. |
3 | p? Corresponde a qualquer string contendo no máximo um p. |
4 | p{N} Corresponde a qualquer string contendo uma sequência de N p's |
5 | p{2,3} Corresponde a qualquer string contendo uma sequência de dois ou três p's. |
6 | p{2, } Corresponde a qualquer string contendo uma sequência de pelo menos dois p's. |
7 | p$ Corresponde a qualquer string com p no final dela. |
8 | ^p Corresponde a qualquer string com p no início. |
Exemplos
Os exemplos a seguir explicam mais sobre a correspondência de caracteres.
Sr. Não. | Expressão e Descrição |
---|---|
1 | [^a-zA-Z] Corresponde a qualquer string que não contenha nenhum dos caracteres desde a através z e A através de Z. |
2 | p.p Corresponde a qualquer string contendo p, seguido por qualquer caractere, por sua vez, seguido por outro p. |
3 | ^.{2}$ Corresponde a qualquer string contendo exatamente dois caracteres. |
4 | <b>(.*)</b> Corresponde a qualquer string entre <b> e </b>. |
5 | p(hp)* Corresponde a qualquer string contendo um p seguido por zero ou mais instâncias da sequência hp. |
Personagens literais
Sr. Não. | Descrição do personagem |
---|---|
1 | Alphanumeric Em si |
2 | \0 O caractere NUL (\ u0000) |
3 | \t Guia (\ u0009 |
4 | \n Newline (\ u000A) |
5 | \v Guia vertical (\ u000B) |
6 | \f Feed de formulário (\ u000C) |
7 | \r Retorno de carro (\ u000D) |
8 | \xnn O caractere latino especificado pelo número hexadecimal nn; por exemplo, \ x0A é o mesmo que \ n |
9 | \uxxxx O caractere Unicode especificado pelo número hexadecimal xxxx; por exemplo, \ u0009 é o mesmo que \ t |
10 | \cX O caractere de controle ^ X; por exemplo, \ cJ é equivalente ao caractere de nova linha \ n |
Metacaracteres
Um metacaractere é simplesmente um caractere alfabético precedido por uma barra invertida que atua para dar à combinação um significado especial.
Por exemplo, você pode pesquisar uma grande quantia de dinheiro usando o metacaractere '\ d': /([\d]+)000/, Aqui \d irá pesquisar por qualquer string de caracteres numéricos.
A tabela a seguir lista um conjunto de metacaracteres que podem ser usados em expressões regulares de estilo PERL.
Sr. Não. | Descrição do personagem |
---|---|
1 | . um único personagem |
2 | \s um caractere de espaço em branco (espaço, tabulação, nova linha) |
3 | \S caractere sem espaço em branco |
4 | \d um dígito (0-9) |
5 | \D um não-dígito |
6 | \w um caractere de palavra (az, AZ, 0-9, _) |
7 | \W um personagem não verbal |
8 | [\b] um backspace literal (caso especial). |
9 | [aeiou] corresponde a um único caractere no conjunto fornecido |
10 | [^aeiou] corresponde a um único caractere fora do conjunto fornecido |
11 | (foo|bar|baz) corresponde a qualquer uma das alternativas especificadas |
Modificadores
Vários modificadores estão disponíveis que podem simplificar a maneira como você trabalha com regexps, como distinção entre maiúsculas e minúsculas, pesquisa em várias linhas, etc.
Sr. Não. | Modificador e descrição |
---|---|
1 | i Execute uma correspondência sem distinção entre maiúsculas e minúsculas. |
2 | m Especifica que se a string tiver caracteres de nova linha ou de retorno de carro, os operadores ^ e $ agora corresponderão a um limite de nova linha, em vez de um limite de string |
3 | g Executa uma correspondência global, ou seja, localiza todas as correspondências em vez de parar após a primeira correspondência. |
Propriedades RegExp
Aqui está uma lista das propriedades associadas ao RegExp e suas descrições.
Sr. Não. | Descrição da Propriedade |
---|---|
1 | constructor Specifies the function that creates an object's prototype. |
2 | global Specifies if the "g" modifier is set. |
3 | ignoreCase Specifies if the "i" modifier is set. |
4 | lastIndex The index at which to start the next match. |
5 | multiline Specifies if the "m" modifier is set. |
6 | source The text of the pattern. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.
RegExp Methods
Here is a list of the methods associated with RegExp along with their description.
Sr.No. | Method & Description |
---|---|
1 | exec() Executes a search for a match in its string parameter. |
2 | test() Tests for a match in its string parameter. |
3 | toSource() Returns an object literal representing the specified object; you can use this value to create a new object. |
4 | toString() Returns a string representing the specified object. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.