DEV Community

Cover image for Vamos falar de RegEx?(Parte2) Colocando o DART/FLUTTER em prática
Toshi Ossada for flutterbrasil

Posted on

Vamos falar de RegEx?(Parte2) Colocando o DART/FLUTTER em prática

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

https://api.flutter.dev/flutter/dart-core/RegExp-class.html

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
Image description

Entre em nosso discord para interagir com a comunidade: https://discord.com/invite/flutterbrasil
https://linktr.ee/flutterbrasil

Top comments (0)