Mostrando postagens com marcador Expressões regulares. Mostrar todas as postagens

Ferramenta para visualizar expressão regular

Quem já precisou criar ou dar manutenção em uma expressão regular sabe o quanto pode ser desafiador em casos complexos. Uma ferramenta que pode ajudar esse processo é o Regexper.



Basicamente o que essa ferramenta online faz é transformar uma expressão em um gráfico mais simples de ser lido.

Por exemplo considere a expressão para validação de CEP abaixo:

^\d{2}\d{3}[-]{1}\d{3}$

A ferramenta iria gerar uma imagem dessa forma:


Facilita bastante o entendimento, principalmente de expressões mais complexas como de e-mail por exemplo:



Espero que façam bom proveito do Regexper, e também confiram meu outro post sobre uma ferramenta voltada para criar expressões regulares.

Transformação de texto usando Notpad++

Nós programadores passamos dias e dias automatizando tarefas manuais de nossos usuários e muita das vezes deixamos de automatizar tarefas repetitivas de nosso cotidiano. Aquele velho ditado de aplica bem: "casa de ferreiro espeto é de pau".

Uma dica que eu quero passar é como transformar textos utilizando Notepad++ e expressões regulares. 

Para isso vou utilizar um exemplo simples, imagine que você tem uma lista de variáveis conforme abaixo:


Para transformar essas variáveis em propriedades precisamos isolar o nome da propriedade e o tipo. Utilizando a seguinte expressão regular:

" Private _(.*) AS(.*)"

Primeiro declaramos a primeira parte da string que não varia entre as linhas: ' Private _'. Depois declaramos o bloco '(.*)' que será usado para recuperar o nome. Seguindo a mesma ideia declaramos ' AS' seguido do bloco para resgatar o tipo '(.*)'.

Depois colocamos a string que será substituída conforme abaixo:

Public Property \1\(\) As \2 \r\n            Get \r\n                Return _\1 \r\n            End Get \r\n            Set\(ByVal value As \2\) \r\n                _\1 = value \r\n            End Set \r\n        End Property \r\n \r\n

Na string acima temos:

  • '\r\n' usado para quebrar o texto para aproxima linha;
  • '\(',  '\)', '\.' como os caracteres parenteses tem significado em expressões regulares temos que colocar uma barra antes para que sejam tratados como texto comum;
  • '\1', '\2' usado para fazer a substituição do que foi encontrado da expressão regular seguindo a mesma ordem da declaração. No nosso exemplo duas cadeias de texto que selecionamos usando (.*), a primeira é o nome e a segunda é o tipo.



Dentro do Notepad++ basta colar as duas strings e marcar a opção de expressão regular na tela de pesquisa (ctrl+h).

Pressione substituir todos e voila:


O exemplo que eu usei foi bem foi bem trivial, apenas para exemplificar. Mas conforme você vai usando acaba percebendo em quantas situações esse procedimento se enquadra para facilitar nossa vida. Outro ponto que quero salientar é que apesar de eu ter usado o Notepad++ no exemplo outros editores de texto voltado para programadores também tem a opção de substituição usando expressões regulares.