"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 |