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:
Conteúdo
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.
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.
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 especial | Significado |
---|---|
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 | y | Encontrados 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. |
b | Encontra um limite de palavra. |
B | Encontra um limite de palavra. |
d | Encontra um caractere de dígito. |
D | Encontra qualquer caractere não dígito. |
n | Encontra uma linha de alimentação. |
s | Encontra um único caractere espaço em branco, incluindo espaço, tabulação, forma alimentação e de avanço de linha. |
S | Encontra um único caractere não-branco-espaço. |
t | Encontra um guia. |
W | Encontra qualquer caractere alfanumérico, incluindo um sublinhado. |
W | Encontra qualquer caractere de palavra. |