Galera esse é um exemplo simples de uso de expressões regulares mas que pode ser aplicado em diversas situações.
//Exemplo de uso de expressões regulares
let str = "Rua Dom Pedro 2"
let letter = "Dom"
let re = new RegExp(letter);
if ((str.search(re)) >= 0) {
console.log('passou');//imprime esse valor
}else{
console.log('não passou');
}
letter = "dom"
re = new RegExp(letter);
if ((str.search(re)) >= 0) {
console.log('passou');
}else{
console.log('não passou');//imprime esse valor
}
Como você pode aplicar esse exemplo?
Imaine que você precise chamar uma função que vamos chamar executaValor(), apenas se determinada condição for true.
Então você poderá inserir a chamada da função dentro do bloco if especificado.
Vou mostrar uma aplicação mais avançada para você com o uso de objetos.
Veja esse array de objetos que poderia ser retornado de um banco de dados.
const pessoas = [
{ nome: "Adalberto", idade: 30 },
{ nome: "Wilsom", idade: 29 },
{ nome: "Gilberto", idade: 45 },
{ nome: "Claudiane", idade: 21 },
{ nome: "Alexandre", idade: 19 }
]
Agora você poderia usar a mesma expressão regular para testar e retornar nomes que satisfaçam determinada condição. Veja isso:
Quero retornar pessoas que possuam a expressão "berto" no nome.
Então a coisa vai ficar melhor abaixo:
Adicione a função filter aplicando ao objeto a ser pesquisado.
letter = "berto"
re = new RegExp(letter);
var pessoasSelecionadas = pessoas.filter(pessoa => pessoa.nome.search(re) >= 0);
pessoasSelecionadas.forEach(pessoa => {
console.log(pessoa);
});
A chamada acima irá imprimir o segundo objeto de retorno:
{ nome: 'Adalberto', idade: 30 }
{ nome: 'Gilberto', idade: 45 }