Expressões Regulares JavaScript
Uma expressão regular é uma sequência de caracteres que forma um padrão de pesquisa.
O padrão de pesquisa pode ser usado para operações de pesquisa e substituição de texto.
O que é uma expressão regular?
Uma expressão regular é uma seqüência de caracteres que forma um padrão de pesquisa .
Ao pesquisar dados em um texto, você pode usar esse padrão de pesquisa para descrever o que está procurando.
Uma expressão regular pode ser um único caractere ou um padrão mais complicado.
As expressões regulares podem ser usadas para realizar todos os tipos de pesquisa de texto e operações de substituição de texto .
Sintaxe
/pattern/modifiers;
Exemplo
/w3schools/i;
Exemplo explicado:
/w3schools/i é uma expressão regular.
w3schools é um padrão (para ser usado em uma pesquisa).
i é um modificador (modifica a pesquisa para não diferenciar maiúsculas de minúsculas).
Usando métodos de string
Em JavaScript, expressões regulares são frequentemente usadas com os dois métodos de string : search()
e replace()
.
O search()
método usa uma expressão para procurar uma correspondência e retorna a posição da correspondência.
O replace()
método retorna uma string modificada onde o padrão é substituído.
Usando String search() com uma string
O search()
método pesquisa uma string por um valor especificado e retorna a posição da correspondência:
Exemplo
Use uma string para fazer uma busca por "W3schools" em uma string:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
O resultado em n será:
6
Usando String search() com uma expressão regular
Exemplo
Use uma expressão regular para fazer uma pesquisa sem distinção entre maiúsculas e minúsculas por "w3schools" em uma string:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
O resultado em n será:
6
Usando String replace() com uma String
O replace()
método substitui um valor especificado por outro valor em uma string:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
Use String replace() com uma expressão regular
Exemplo
Use uma expressão regular que não diferencia maiúsculas de minúsculas para substituir Microsoft por W3Schools em uma string:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
O resultado em res será:
Visit W3Schools!
Você Notou?
Argumentos de expressão regular (em vez de argumentos de string) podem ser usados nos métodos acima.
Expressões regulares podem tornar sua pesquisa muito mais poderosa (não diferencia maiúsculas de minúsculas, por exemplo).
Modificadores de Expressão Regular
Os modificadores podem ser usados para realizar pesquisas mais globais que não diferenciam maiúsculas de minúsculas:
Modifier | Description | Try it |
---|---|---|
i | Perform case-insensitive matching | |
g | Perform a global match (find all matches rather than stopping after the first match) | |
m | Perform multiline matching |
Padrões de Expressão Regular
Colchetes são usados para encontrar um intervalo de caracteres:
Expression | Description | Try it |
---|---|---|
[abc] | Find any of the characters between the brackets | |
[0-9] | Find any of the digits between the brackets | |
(x|y) | Find any of the alternatives separated with | |
Metacaracteres são caracteres com um significado especial:
Metacharacter | Description | Try it |
---|---|---|
\d | Find a digit | |
\s | Find a whitespace character | |
\b | Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b |
|
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxx |
Quantificadores definem quantidades:
Quantifier | Description | Try it |
---|---|---|
n+ | Matches any string that contains at least one n | |
n* | Matches any string that contains zero or more occurrences of n | |
n? | Matches any string that contains zero or one occurrences of n |
Usando o objeto RegExp
Em JavaScript, o objeto RegExp é um objeto de expressão regular com propriedades e métodos predefinidos.
Usando teste()
O test()
método é um método de expressão RegExp.
Ele procura um padrão em uma string e retorna verdadeiro ou falso, dependendo do resultado.
O exemplo a seguir pesquisa uma string pelo caractere "e":
Exemplo
const pattern = /e/;
pattern.test("The best things in life are free!");
Como há um "e" na string, a saída do código acima será:
true
Você não precisa colocar a expressão regular em uma variável primeiro. As duas linhas acima podem ser reduzidas para uma:
/e/.test("The best things in life are free!");
Usando exec()
O exec()
método é um método de expressão RegExp.
Ele procura uma string por um padrão especificado e retorna o texto encontrado como um objeto.
Se nenhuma correspondência for encontrada, ele retornará um objeto vazio (nulo) .
O exemplo a seguir pesquisa uma string pelo caractere "e":
Exemplo
/e/.exec("The best things in life are free!");
Referência RegExp completa
Para obter uma referência completa, acesse nossa Referência Completa de RegExp JavaScript .
A referência contém descrições e exemplos de todas as propriedades e métodos do RegExp.