Vamos falar de RegEx?(Parte2) Colocando o DART/FLUTTER em prática
Toshi Ossada
Posted on April 20, 2024
Utilizando no DART.
Agora vamos falar da parte que realmente importa que é a utilização dos RegEx em nossa linguagem favorita o DART.
Se não conferiu a Parte 1 deste artigo, onde eu explico detalhadamente o que é RegEx volte no na primeira parte
Para utilizar RegEx no DART utilizaremos a classe RegExp() que espera uma String contendo sua expressão regular como parâmetro. Ex. RegExp(‘[//w]’). Para não precisarmos ficar cancelando os caracteres especiais do dart, como a barra, geralmente iniciamos nossa String com o r para utilizarmos nossos caracteres da String na forma literal. Ex. RegExp(r‘[/w]’).
Agora para validar se um e-mail é valido ou não podemos utilizar a RegEx que criamos anteriormente e utilizando um dos métodos do RegExp para verificar se houve combinação do e-mail fornecido com a expressão Regular.
Também conseguimos validar String com múltiplas linhas, basta adicionar na instancia do RegExp o parâmetro multiLine passando o valor true.
Temos a função allMatches() que nos retornara todas as combinações encontradas dentro da String, isso me retornara uma lista de Matches que podemos recuperar todos os grupos que tiveram combinações onde o 0 é a combinação completa e do 1 são as combinações separadas por grupos
Utilizando o exemplo das tags HTML que vimos na seção de grupos vamos utilizar o RegEx.
<([\w\s]+)>([\w\s]+)<(?:[/])(\1)>
O resultado será
Para saber mais sobre a classe RegEx visite o documentação oficial do flutter
Utilizando no Flutter
No Flutter há uma infinidade de maneiras de se utilizar RegEx, o mais comum é utilizar para validar formulários para isto basta utilizarmos o TextFormField() e na propriedade validator construiremos nossa regra para validar se nosso campo esta valido ou não, para isso retornaremos uma String qualquer caso o campo esteja invalido ou null caso o campo esteja valido
Para que a validação seja disparada é necessário disparar o validate() do formulário, para isso envolveremos nosso campo em um Form() dando uma chave para o formulário e logo em seguida criaremos um botão que irá disparar a validação.
O resultado será
Também conseguimos habilitar para que o campo faça a validação no momento que o usuário interagir com o formulário, basta utilizar a propriedade autovalidateMode
Agora podemos simplesmente utilizar nossa RegEx para validar o e-mail.
Também conseguimos utilizar para validar mascaras de entrada, gosto bastante do package https://pub.dev/packages/mask_text_input_formatter nele conseguimos passar um RegExp com os dados permitidos de entrada.
Há infinitas possibilidades de utilização de RegEx dentro e fora da programação e como virão é muito simples seu entendimento e construção.
Espero que tenham aprendido um pouco deste mundo.
Até a Próxima :)
https://github.com/toshiossada/DartRegex
Entre em nosso discord para interagir com a comunidade: https://discord.com/invite/flutterbrasil
https://linktr.ee/flutterbrasil
Posted on April 20, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.