Regex Ruby
O curso trata de expressões regulares em Ruby. Ele parte da diferença entre comparar uma string exata com == e checar uma forma com um padrão. Depois compara =~, match e match?, e explica o MatchData e o efeito colateral em $~. As aulas seguintes mostram grupos de captura numerados e nomeados, a coleta de todas as ocorrências com scan, a flag i, âncoras, classes de caracteres e quantificadores. Em seguida vêm busca e substituição com gsub e sub. A última aula lê o regex que valida os slugs desta app.
O que você vai aprender
- ✓Rodar um regex com =~, match e match?, e escolher entre eles
- ✓Tirar pedaços de um match com grupos de captura numerados e nomeados
- ✓Coletar todo match com scan e ignorar maiúsculas com a flag i
- ✓Ancorar um padrão com \A e \z, e a diferença para ^ e $
- ✓Classes de caracteres, atalhos como \d, \w e \s, e quantificadores
- ✓Substituir texto com gsub e sub, usando blocos e referências a grupos
Encontrando um padrão, não uma string exata
Essa comparação responde a uma pergunta sobre uma string específica. Um formulário de cadastro não sabe de antemão o email de quem visita. Ele precisa checar "isso parece um email": uma forma, e não um valor exato. O == não consegue dizer "alguns caracteres, depois um @, depois mais caracteres,…
Ler a aula completa grátis →Currículo
7 aulasEncontrando um padrão, não uma string exata
Por que == checa uma string exata, como funciona um literal Regexp e como =~ devolve índice ou nil.
MatchData ou um simples Sim/Não: match vs match?
Compara o match, que devolve MatchData, com o match?, que devolve um booleano e não mexe em $~.
Grupos de captura: puxando pedaços pra fora
Usa parênteses e grupos nomeados para tirar pedaços de um match, e mostra como grupos mudam o scan.
scan: coletando todo match
Coleta todo match de uma string com scan, explica o formato do retorno com grupos e apresenta a flag i.
Âncoras e classes de caracteres
Âncoras com \A, \z, ^ e $, classes de caracteres com seus atalhos e quantificadores que controlam repetições.
Busca-e-substituição com gsub e sub
Substitui matches com gsub e sub, usando strings fixas, blocos e referências a grupos de captura como \1.
Juntando tudo: o regex que protege os slugs desta app
Lê, pedaço por pedaço, o regex que valida os slugs de cursos e aulas desta app, e o testa com exemplos.