Tutorial de Expressões Regulares em JavaScript e Regex Object

Uma expressão regular é um objeto que descreve um padrão de caracteres.

Epressões Regulares (REGEX) em JavaScript

A classe RegExp do JavaScript representa expressões regulares, e tanto a String quanto a 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 de texto.

Sintaxe
Uma expressão regular pode ser definida com o construtor RegExp(), da seguinte forma:

var padrao = new RegExp(padrao, atributos);

ou simplesmente

var padrao = /padrao/atributos;

Aqui está a descrição dos parâmetros:

  • padrao: Uma string que especifica o padrão da expressão regular ou outra expressão regular.
  • atributos: Uma string opcional contendo quaisquer dos atributos “g” (global), “i” (insensível a maiúsculas/minúsculas) e “m” (multilinha) que especificam correspondências globais, insensíveis a maiúsculas/minúsculas e multilinhas, respectivamente.

Colchetes
Colchetes ([]) têm um significado especial quando usados no contexto de expressões regulares. Eles são usados para encontrar um intervalo de caracteres.

  1. [...]: Qualquer caractere único entre os colchetes.
  2. [^...]: Qualquer caractere único que não esteja entre os colchetes.
  3. [0-9]: Corresponde a qualquer dígito decimal de 0 a 9.
  4. [a-z]: Corresponde a qualquer caractere de minúsculas de ‘a’ a ‘z’.
  5. [A-Z]: Corresponde a qualquer caractere maiúsculo de ‘A’ a ‘Z’.
  6. [a-Z]: Corresponde a qualquer caractere de minúsculas de ‘a’ a maiúsculas de ‘Z’.

Os intervalos 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 [b-v] para corresponder a qualquer caractere minúsculo de ‘b’ a ‘v’.

Quantificadores
A frequência ou posição de sequências de caracteres entre colchetes e caracteres individuais podem ser denotados por um caractere especial. Cada caractere especial tem uma conotação específica.

  1. p+: Corresponde a qualquer sequência contendo um ou mais ‘p’s.
  2. p*: Corresponde a qualquer sequência contendo zero ou mais ‘p’s.
  3. p?: Corresponde a qualquer sequência contendo no máximo um ‘p’.
  4. p{N}: Corresponde a qualquer sequência contendo uma sequência de ‘N’ ‘p’s.
  5. p{2,3}: Corresponde a qualquer sequência contendo duas ou três vezes a sequência ‘p’.
  6. p{2,}: Corresponde a qualquer sequência contendo pelo menos duas vezes a sequência ‘p’.
  7. p$: Corresponde a qualquer sequência com ‘p’ no final.
  8. ^p: Corresponde a qualquer sequência com ‘p’ no início.

Caracteres Literais

  1. Alfanumérico: Corresponde ao próprio caractere.
  2. \0: O caractere NUL (\u0000).
  3. \t: Tabulação (\u0009).
  4. \n: Quebra de linha (\u000A).
  5. \v: Tabulação vertical (\u000B).
  6. \f: Avanço de página (\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 quebra de linha \n.

Metacaracteres
Um metacaractere é simplesmente um caractere alfabético precedido por uma barra invertida que dá à combinação um significado especial.

  1. .: Qualquer caractere único.
  2. \s: Qualquer caractere de espaço em branco (espaço, tabulação, quebra de linha).
  3. \S: Qualquer caractere que não seja de espaço em branco.
  4. \d: Um dígito (0-9).
  5. \D: Um não dígito.
  6. \w: Um caractere alfanumérico (a-z, A-Z, 0-9, _).
  7. \W: Um caractere não alfanumérico.
  8. [\b]: Um caractere de retrocesso literal (caso especial).
  9. [aeiou]: Corresponde a um único caractere no conjunto especificado.
  10. [^aeiou]: Corresponde a um único caractere fora do conjunto especificado.
  11. (foo|bar|baz): Corresponde a qualquer uma das alternativas especificadas.

Modificadores
Vários modificadores estão disponíveis para simplificar o trabalho com expressões regulares, como a sensibilidade a maiúsculas e minúsculas, a pesquisa em várias linhas, etc.

  1. i: Realiza correspondência insensível a maiúsculas e minúsculas.
  2. m: Especifica que se a string tiver caracteres de nova linha ou retorno de carro, os operadores ^ e $ corresponderão a uma quebra de linha em vez de uma borda de string.
  3. g: Realiza uma correspondência global, encontrando todas as correspondências em vez de parar após a primeira correspondência.

Propriedades da RegExp
Aqui está uma lista das propriedades associadas a RegExp e suas descrições.

  1. constructor: Especifica a função que cria o protótipo do objeto.
  2. global: Especifica se o modificador “g” está definido.
  3. ignoreCase: Especifica se o modificador “i” está definido.
  4. lastIndex: O índice no qual iniciar a próxima correspondência.
  5. multiline: Especifica se o modificador “m” está definido.
  6. source: O texto do padrão.

Métodos da RegExp
Aqui está uma lista dos métodos associados à RegExp juntamente com suas descrições.

  1. exec(): Executa uma pesquisa por uma correspondência em seu parâmetro de string.
  2. test(): Testa uma correspondência em seu parâmetro de string.
  3. toSource(): Retorna um objeto literal representando o objeto especificado; você pode usar esse valor para criar um novo objeto.
  4. toString(): Retorna uma string representando o objeto especificado.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *