English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
As expressões regulares geralmente chamadas de "regex" ou "RegExp" são padrões usados para combinar combinações de caracteres em strings.
As expressões regulares são uma das ferramentas mais poderosas disponíveis hoje, capazes de lidar e operar eficazmente com texto.
As expressões regulares podem ser usadas para executar todos os tipos debusca de textoesubstituição de textooperações.
As expressões regulares podem ser um único caractere, também podem ser padrões mais complexos.
As expressões regulares também são objetos no JavaScript.
Você pode criar expressões regulares de duas maneiras:
Use expressões regularestextoconstituído por um padrão contido entre barras invertidas, conforme mostrado a seguir:
var regex = /w3codebox/g
ou chame o métodoConstruçãofunção, conforme mostrado a seguir:
var regex = new RegExp("w3codebox", "g");
Exemplo de explicação:
w3codeboxé um padrão (usado para busca)
gé o modificador (executa correspondência global)
usandoConstruçãofunção pode fornecer a compilação em tempo de execução da expressão regular.
Quando você não sabe o padrão e obtém o padrão de outras fontes (por exemplo, entrada do usuário), useConstruçãofunção.
Nota:EstetextoA sintaxe usa a barra invertida (/pattern/)para embalar o padrão de expressão regular, enquanto a sintaxe do construtor usa aspas ("pattern").
Nos JavaScript, os três métodos de string mais usados nas expressões regulares são:search(),replace()ematch().
search()O método usa a expressão para buscar correspondências e então retorna a posição da correspondência.
replace()O método retorna uma string modificada, na qual o padrão será substituído.
match()O método busca correspondências com a expressão regular no texto e retorna os itens correspondentes como um objeto Array.
search()O método realiza uma busca para encontrar correspondências entre a expressão regular e a string.
Se encontrar correspondências, retornará a posição da primeira correspondência; se não encontrar correspondências, retornará-1:
var str = 'A pergunta é to be, ou não ser, é isso que deve ser.' var pos = str.search('to be';Testar e ver‹/›
Os seguintes exemplos demonstram o uso de:i
Uso de modificador na expressão regular (ignorar maiúsculas e minúsculas):
var str = 'A pergunta é TO BE, ou não ser, é isso que deve ser.' var pos = str.search(/to be/i);Testar e ver‹/›
Expressões regulares podem tornar suas funções de busca mais poderosas (por exemplo, sem distinção entre maiúsculas e minúsculas).
replace()A função retorna uma nova string que contém parte ou toda a correspondência do padrão e é substituída pelo item de substituição.
O primeiro parâmetro será o valor a ser encontrado, e o segundo parâmetro será o valor a ser substituído.
var str1 = 'A pergunta é to be, ou não ser, é isso que deve ser.' var str2 = str1.replace('to be', 'ZZZ';Testar e ver‹/›
Padrãoreplace()O método substitui apenas a primeira correspondência.
Para substituir todas as ocorrências, use comg
Expressão regular com modificador (busca global):
var str1 = 'A pergunta é to be, ou não ser, é isso que deve ser.' var str2 = str1.replace(/to be/g, 'ZZZ';Testar e ver‹/›
Para substituir código sem distinção entre maiúsculas e minúsculas, use comi
Expressão regular com modificador (ignorar maiúsculas e minúsculas):
var str1 = 'A pergunta é TO BE, ou não ser, é isso que deve ser.' var str2 = str1.replace(/to be/gi, 'ZZZ';Testar e ver‹/›
match()O método busca correspondências com a expressão regular no texto e retorna os itens correspondentes como um objeto Array.
var str = 'POLUIÇÃO: Poluição do ar é a introdução de químicos na atmosfera' var reg = str.match(/ion/g);Testar e ver‹/›
O modificador é usado para executar uma busca global, diferenciar maiúsculas e minúsculas e procurar linhas múltiplas:
Modificador | Descrição | Exemplo |
---|---|---|
g | Executar correspondência global, ou seja, procurar todas as correspondências, em vez de parar após a primeira correspondência | Teste |
i | Executar correspondência sem distinção entre maiúsculas e minúsculas | Teste |
m | Executar correspondência em linhas múltiplas | Teste |
O padrão de expressão regular inclui o uso de letras, números, sinais de pontuação, entre outros, e um conjunto de caracteres especiais de expressão regular.
Colchetes []Usado para procurar uma série de caracteres:
Expressão | Descrição | Exemplo |
---|---|---|
[abc] | Procurar qualquer caractere dentro de colchetes | Teste |
[0-9] | Procurar qualquer caractere entre colchetes (qualquer número) | Teste |
(x|y) | Procurar qualquer substituição especificada | Teste |
Caractere especialÉ um caractere simples, precedido de uma barra invertida, cujo propósito é dar a essa combinação um significado especial:
Caractere especial | Descrição | Exemplo |
---|---|---|
\d | Encontrar um número | Teste |
\W | Procurar caractere não alfanumérico | Teste |
\s | Procurar caractere de espaço | Teste |
QuantificadorEspecificar a posição da sequência de caracteres dentro de colchetes ou a frequência:
Expressão | Descrição | Exemplo |
---|---|---|
z+ | Coincidir com qualquer coisa que contenha pelo menos umado zCadeia | Teste |
z* | Coincidir com qualquer coisa que contenha zero ou maisdo zCadeia | Teste |
z? | Coincidir com qualquer coisa que contenha zero ou uma ocorrênciado zCadeia | Teste |
No JavaScript, o objeto RegExp é um objeto de expressão regular com atributos e métodos pré-definidos.
test()O método busca por padrão na string e retorna true ou false com base no resultado.
exec()O método busca por padrão na string e retorna o texto encontrado como um objeto.
test()O método realiza uma busca por correspondências no string especificado.
Se encontrar correspondência, retornatrue;caso contrário, retornafalse.
usandotest()Se você deseja saber se o padrão está presente na string.
var str = "pt.oldtoolbag.com"; var regex = new RegExp("h"); var ans = regex.test(str);Testar e ver‹/›
Quando você quer saber se o padrão está presente na string.test()Retorna um valor booleano, diferentementeexec()Ele retorna uma string.
exec()O método realiza uma busca por correspondências no string especificado.
Se encontrar correspondência, este método retorna o texto correspondente; caso contrário, retorna null.
var str = "pt.oldtoolbag.com"; var regex = new RegExp("h"); var ans = regex.exec(str);Testar e ver‹/›
Calcular o número de vogais na string:
Insira algum texto no campo de entrada para exibir o número de vogais:
Número de vogais inseridas:
Para referência completa de propriedades e métodos, acesse nossoReferência do RegExp do JavaScript.
A parte de referência contém descrições e exemplos de todas as propriedades e métodos de RegExp.