Portuguese, Brazilian subtitles

← 07-20 Learning Regular Expressions Solution

07-20 Aprendendo Expressões Regulares - Solução

Get Embed Code
3 Languages

Subtitles translated from English Showing Revision 2 created 02/28/2013 by Lucilia Figueiredo.

  1. Bem, existem várias maneiras de fazer isso --
  2. de fato, um número infinito de maneiras de fazer isso.
  3. Uma estratégia totalmente válida, mas que você pode sentir que é quase uma trapaça,
  4. é simplesmente juntar todos esses strings.
  5. Você pode submeter o código Python que corresponde a isso, ou isso, ou isso.
  6. Assim você garante que ele aceita os 3 strings da esquerda, e nada mais.
  7. Mas você deve ter cuidado em como agrupar essas coisas,
  8. de modo que o `ou' e os parênteses sejam colocados corretamente. Mas essa seria uma maneira de fazer isso.
  9. Vejamos se podemos construir uma expressão regular mais natural, que realmente expresse isso.
  10. Parece que definitivamente temos que começar com um `a'.
  11. Agora, eu tenho escolha sobre o como eu gostaria de expressar a diferença entre esses strings --
  12. `abb', e aqui nós temos `aabbb'.
  13. Em certo sentido, uma das diferenças chave é o número de b's.
  14. Aqui está uma expressão regular que captura todos os strings à esquerda e nenhum daqueles à direita.
  15. É um a* -- de modo que casamos este primeiro -- e depois que você termina com os a'`,
  16. você pode opcionalmente ter bb ou cc. Ótimo.
  17. Isso casa com 1, 2 e 3, mas com nenhum desses aqui.
  18. Este aqui não casa porque isso não é bb nem cc, com a's antes --
  19. isso tem b's demais, isso tem c's demais.
  20. Mas existe um grande número de maneiras como você poderia ter expresso isso.
  21. De fato, existe uma área de estudos chamada Teoria do Aprendizado, que busca construir máquinas e padrões
  22. que modelam o que você pode fazer com seu cérebro.
  23. Existe aí a noção de que voc6e realmente aprendeu alguma coisa quando você conseguiu abstrai-la como uma regra simples.
  24. A razão pela qual ficamos menos satisfeitos com esta resposta aqui é que ela é, em certo sentido, `muito justa'.
  25. Ela simplesmente relaciona as instâncias positivas, não realmente generalizando o padrão.
  26. Dizemos que está ocorrendo maior aprendizado, quando generalizamos em um padrão mais simples
  27. ao invés de simplesmente copiar toda a entrada disponível. Mas isso não foi requerido pelo enunciado do problema.