Como escrever expressões regulares para código com javascript

Antes que você possa fazer uso de uma expressão regular em javascript, você precisa criar um objeto que contém a expressão. Você pode escrever expressões regulares em uma de duas maneiras:

  • Usando uma expressão regular literal

  • Através da função de construtor do RegExp objeto

Usando o objecto RegExp

Quando você cria uma expressão regular chamando o RegExp função de construtor, o objeto resultante é criado em tempo de execução, em vez de quando o script é carregado. Você deve usar o RegExp função de construtor quando você não sabe o valor da expressão regular, quando você está escrevendo o roteiro.

Por exemplo, você pode estar se perguntando ao usuário inserir uma expressão regular, ou você pode estar recebendo a expressão regular a partir de uma fonte externa ou cálculo alguma parte da expressão regular quando o script é executado.

Este programa cria uma expressão regular usando uma carta aleatória e, em seguida, pede que o usuário digite uma frase. Quando o usuário envia o formulário, o programa calcula quantas instâncias da carta aleatória estavam no texto enviado pelo usuário.

Video: Desvendando a linguagem javascript - #10 - Expressões Regulares - Rodrigo Branas

Jogo Contando carta

Este é o resultado da execução do programa anterior em um navegador web.

O resultado Letter Contando o jogo.
O resultado Letter Contando o jogo.

literais de expressão regular

Para criar uma expressão regular literal, você colocar o valor da expressão regular entre barras em vez de aspas.

Por exemplo:

var myRegularExpression = / javascript / -

literais de expressões regulares são compiladas pelo navegador quando o script é carregado e permanecem constantes durante toda a vida do script. O resultado é que literais de expressões regulares oferecem melhor desempenho para expressões que serão imutável.

O exemplo anterior usa uma expressão regular para procurar uma correspondência exata da string javascript. Uma expressão regular contendo uma seqüência de caracteres a serem combinados exatamente é chamado de padrão simples.

Em um aplicativo ou programa real, você vai querer dar conta de usuários que usam alguma variação na ortografia correta. Por exemplo, um utilizador pode introduzir qualquer uma das seguintes palavras e claramente significa javascript:



  • javascript

  • javascript

  • java script

  • JS

    Video: Validando formulários com expressões regulares (Regex)

  • js

Pode até haver variações mais exóticas. Uma das coisas maravilhosas e frustrantes sobre como lidar com a entrada de pessoas reais é que você nunca sabe ao certo o que eles vão fazer! A fim de ser capaz de detectar variações na capitalização e ortografia, você pode usar expressões regulares mais sofisticados para procurar padrões ou conjuntos de caracteres, ao invés de apenas strings literais.

O seguinte é uma expressão regular revista que irá corresponder javascript assim como "javascript ou javascript:

var myRegularExpression = / [Jj] Ava [Ss] cript / -

As coisas estão começando a parecer um pouco estranho, mas se você entender o significado das diferentes personagens, você vai ver que isso é verdade ainda muito simples. Os colchetes em uma expressão regular definem um conjunto de caracteres e irá corresponder a qualquer um dos personagens dentro desse conjunto. Por escrito [Jj], o que você está dizendo é que quer um capital ou j minúsculas irá corresponder.

Testando expressões regulares

Às vezes, quando você está escrevendo expressões regulares, é útil ter uma maneira fácil de testar uma expressão para se certificar de que está realmente fazendo o que você quer. Uma série de sites e ferramentas podem ajudá-lo a testar suas expressões regulares.

regex101.com é um desses sites. Usar regex101.com, digite a expressão regular na caixa na parte superior da tela e digite algum texto na caixa de debaixo dela. O site verifica o texto contra o uso de sua expressão regular e destaca os jogos que são encontrados.

Isso mostra regex101.com usando o nosso exemplo expressão regular para testar contra uma pergunta sobre javascript.

Usando regex101.com para testar uma expressão regular.
Usando regex101.com para testar uma expressão regular.

caracteres especiais em expressões regulares

As expressões regulares torná-lo possível para você olhar para os números em cordas, letras, grupos de letras, repetições de caracteres, e muito mais.

Para criar padrões de pesquisa complexas, você pode usar a expressão regular caracteres especiais. Os caracteres especiais mais comumente usados ​​estão listados aqui.

Caractere especialSignificado
Designa se o caractere seguinte deve ser tratado como um
caractere especial ou se deve ser tratado como um literal
personagem. Se o personagem seguinte é um carácter especial, o
designa que ele deve ser tratado literalmente.
^Localiza o início da entrada.
$Localiza o final da entrada.
*Encontra as anteriores caráter 0 ou mais vezes.
+Encontra as anteriores caráter 1 ou mais vezes.
?Encontra o anterior caractere 0 ou 1 hora.
.Encontra qualquer caractere único, exceto o caractere de nova linha.
x | yEncontrados ou x ou y.
{N}Encontra exatamente n ocorrências do caractere anterior.
[Xyz]Encontra qualquer um dos personagens nos suportes.
[^ Xyz]Encontra quaisquer outros do que os nos suportes caracteres.
[B]Encontra um retrocesso.
bEncontra um limite de palavra.
BEncontra um limite de palavra.
dEncontra um caractere de dígito.
DEncontra qualquer caractere não dígito.
nEncontra uma linha de alimentação.
sEncontra um único caractere espaço em branco, incluindo espaço, tabulação,
forma alimentação e de avanço de linha.
SEncontra um único caractere não-branco-espaço.
tEncontra um guia.
WEncontra qualquer caractere alfanumérico, incluindo um
sublinhado.
WEncontra qualquer caractere de palavra.

Publicações relacionadas