ES6 - RegExp
Uma expressão regular é um objeto que descreve um padrão de caracteres. As expressões regulares são frequentemente abreviadas como “regex”Ou“regexp”.
O JavaScript RegExp classe representa expressões regulares, e tanto String quanto RegExp definem 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.
Uma expressão regular pode ser definida como -
var pattern = new RegExp(pattern, attributes);
OR
var pattern = /pattern/attributes;
O atributo pode ter qualquer combinação dos seguintes valores.
Sr. Não | Atributo e descrição |
---|---|
1 | G Jogo Global |
2 | I Ignorar caso |
3 | M Multiline; trate os caracteres de início e fim (^ e $) como trabalhando em várias linhas (ou seja, coincidir com o início ou o fim de cada linha (delimitado por \ n ou \ r), não apenas o início ou o fim de toda a string de entrada ) |
4 | U Unicode; trate o padrão como uma sequência de pontos de código Unicode |
5 | Y Pegajoso; corresponde apenas ao índice indicado pela propriedade lastIndex desta expressão regular na string de destino (e não tenta corresponder a nenhum índice posterior) |
Construindo Expressões Regulares
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 até Z maiúsculo |
6 | [a-Z] Corresponde a qualquer caractere de minúsculas a até Z maiúsculo |
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 de b a v.
Quantificadores
A frequência ou posição das sequências de caracteres entre colchetes e os caracteres únicos podem ser denotados por um caractere especial. Cada personagem especial tem uma conotação específica. o+, *, ?, e $ todos os sinalizadores seguem uma sequência de caracteres.
Sr. Não | Expressão e Descrição |
---|---|
1 | p+ Corresponde a qualquer string contendo pelo menos um p. |
2 | p* Corresponde a qualquer string contendo zero ou mais p's |
3 | p? Corresponde a qualquer string contendo um ou mais p's |
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 disso |
8 | ^p Corresponde a qualquer string com p no começo disso |
9 | [^a-zA-Z] Corresponde a qualquer string que não contenha nenhum dos caracteres desde a através z e A através Z |
10 | p.p Corresponde a qualquer string contendo p, seguido por qualquer caractere, por sua vez, seguido por outro p |
11 | ^.{2}$ Corresponde a qualquer string contendo exatamente dois caracteres |
12 | <b>(.*)</b> Corresponde a qualquer string entre <b> e </b> |
13 | p(hp)* Corresponde a qualquer string contendo um p seguido por zero ou mais instâncias da sequência hp |
Caracteres literais
Sr. Não | Descrição do personagem |
---|---|
1 | Alphanumeric Em si |
2 | \0 O caractere NULL (\ 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
UMA meta-character é 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 '\d'metacaractere: / ([\ d] +) 000 /. Aqui,\d irá procurar por qualquer string do caractere numérico.
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 caractere 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 |
Propriedades RegExp
Sr. Não | Propriedades e descrição |
---|---|
1 | RegExp.prototype.flags Uma string que contém os sinalizadores do objeto RegExp |
2 | RegExp.prototype.global Se deve testar a expressão regular com todas as correspondências possíveis em uma string ou apenas com a primeira |
3 | RegExp.prototype.ignoreCase Se deve ignorar maiúsculas e minúsculas ao tentar uma correspondência em uma string |
4 | RegExp.prototype.lastIndex Se propriedade de leitura / gravação de objetos RegExp. |
5 | RegExp.prototype.multiline Se deve ou não pesquisar em strings em várias linhas |
6 | RegExp.prototype.source O texto do padrão |
Métodos RegExp
Sr. Não | Método e Descrição |
---|---|
1 | RegExp.prototype.exec () Executa uma pesquisa por uma correspondência em seu parâmetro de string |
2 | RegExp.prototype.test () Testa uma correspondência em seu parâmetro de string |
3 | RegExp.prototype.match () Executa uma correspondência com a string dada e retorna o resultado da correspondência |
4 | RegExp.prototype.replace () Substitui correspondências na string fornecida por uma nova substring |
5 | RegExp.prototype.search () Procura a correspondência na string dada e retorna o índice do padrão encontrado na string |
6 | RegExp.prototype.split () Divide a string fornecida em uma matriz, separando a string em substring |
7 | RegExp.prototype.toString () Retorna uma string que representa o objeto especificado. Substitui o métodoObject.prototype.toString () |