"Expressões regulares são padrões utilizados para selecionar combinações de caracteres em uma string. Em JavaScript, expressões regulares também são objetos." (Fonte: MDN Web Docs)
Anotações baseadas (Total ou parcialmente) no curso: Fundamentos de Expressões Regulares (Regex)
📌 Regex 101 - Ferramenta para testes online
📌 MDN Web Docs - Guia #1 para usar no JavaScript
📌 W3Schools - Guia #2 para usar no JavaScript
g- Global ⇨ Encontra todas as ocorrências que correspondem a expressão regular.i- Ignore case ⇨ Ignora maiúsculas e minúsculas.
// JavaScript Sample
const string = 'Exemplo de uso das flags'
/**
* Sem uso de flags
*/
/**
* string.match() - Corresponde a uma string ou a um objeto que suporta
* a correspondência e retorna uma matriz contendo os
* resultados dessa pesquisa, ou null se nenhuma
* correspondência for encontrada
*
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match
*/
console.log(string.match(/E|fl/))
// [ 'E', index: 0, input: 'Exemplo de uso das flags' ]
console.log(string.match(/e|fl/))
// [ 'e', index: 2, input: 'Exemplo de uso das flags' ]
console.log(string.match(/g|fl/))
// [ 'fl', index: 19, input: 'Exemplo de uso das flags' ]
/**
* Com flags
*/
console.log(string.match(/E|fl/g))
// [ 'E', 'fl' ]
console.log(string.match(/e|fl/gi))
// [ 'E', 'e', 'e', 'fl' ]
console.log(string.match(/g|fl/gi))
// [ 'fl', 'g' ]RegExp()- Construtor de Regexregex.test();.exec()- Métodos de Regexstring.match();.replace();.search();.split()- Métodos de String
const string = '0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f'
const re = new RegExp('9')
// Métodos de Regex
/**
* regex.test() - Retorna um valor booleano que indica se existe
* ou não um padrão em uma string pesquisada
*
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
*/
console.log(re.test(string))
// true
/**
* regex.exec() - Executa uma pesquisa em uma string usando um padrão
* de expressão regular e retorna uma matriz contendo os resultados dessa pesquisa
* (Semelhante ao método string.match())
*
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec
*/
console.log(re.exec(string))
// [ '9', index: 18, input: '0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f' ]
// Métodos de String
const re = /[a-f]/g
console.log(string.match(re))
// [ 'a', 'b', 'c', 'd', 'e', 'f' ]
/**
* string.search() - Encontra a primeira correspondência de substring
* em uma pesquisa de expressão regular
*
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search
*/
console.log(string.search(re))
// 20
/**
* string.replace() - Substitui o texto em uma string, usando um objeto
* que oferece suporte à substituição em uma string
*
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
*/
console.log(string.replace(re, 'test'))
// 0,1,2,3,4,5,6,7,8,9,test,test,test,test,test,test
/**
* Divida uma string em substrings usando o separador
* especificado e retorne-as como uma matriz
*/
console.log(string.split(re, 'test'))
// [ '0,1,2,3,4,5,6,7,8,9,', ',', ',', ',', ',', ',', '' ]📌 Outros meta caracteres podem ser encontrados aqui
| Metacaractere | Nome | Significado |
|---|---|---|
| . | Ponto | Um caractere qualquer |
| [] | Conjunto | Conjunto de caracteres permitidos |
| [^] | Conjunto Negado | Conjunto de caracteres proibidos |
| Metacaractere | Nome | Significado |
|---|---|---|
| ? | Opcional | Zero ou um |
| * | Asterisco | Zero ou mais |
| + | Mais | Um ou mais |
| {n,m} | Chaves | De n até m |
| Metacaractere | Nome | Significado |
|---|---|---|
| ^ | Circunflexo | Início de linha |
| $ | Cifrão | Fim de linha |
| \b | Borda | Início ou fim de palavra |
| Metacaractere | Nome | Significado |
|---|---|---|
| \ | Escape | Uso de meta caracteres como literal |
| | | Ou | Operação de Ou |
| () | Grupo | Define um Grupo |
| \1...\9 | Retrovisor | Resgata grupos já definidos |