Postagens

REGEX APLICADO

Imagem
* Eu utilizei o NotePad++, faça o download em: "https://notepad-plus-plus.org/downloads/" * Estude sobre a sintáxe e palavras chave reservadas do Regex em: "https://npp-user-manual.org/docs/searching/" Usei isso para substituir a chamada da função "ISValid" pela função "PasswordInvalido" Localizar:  not TScrypt\.ISValid(\(((?>[^()]+|(?1))*)\)) Substituir: PasswordInvalido$1 Exemplo:  Antes: not TScrypt.ISValid(Edit1.Text, ConsultarSenha) Depois: PasswordInvalido(Edit1.Text,  ConsultarSenha) Antes: not TScrypt.ISValid(EditSenha.Text, Trim(QryUsuario.FieldByName('Senha').AsString)) Depois: PasswordInvalido(Edit1.Text, Trim(QryUsuario.FieldByName('Senha').AsString)) Observação: "(\(((?>[^()]+|(?1))*)\))" esse trecho (conhecido como SubPattern) pega o inicio do parêntesis até seu último par (por que pode haver aberturas e fechamento de parêntesis no meio), uma forma ainda mais poderosa seria algo como "(\(((?>(...

REGEX RECURSIVO: Equalização horizontal ==>(?=.*\QÂncora([\E)^ (?(?S)|([^\r\n\]]*\r\n)+) )(?! )

 (?=.*\QÂncora([\E)^ (?<S>(?<!\QÂncora([\E).(?:(?P>S)|([^\r\n\]]*\r\n)+) )(?! ) Eis um Regex recursivo para encontrar uma combinação perfeita de parentesis: (?<r>\((?>[^()]+|(?P>r))*\)) Exemplo de uso: ExecutaSQL(?<r>\((?>[^()]+|(?P>r))*\)) Para localizar: ExecutaSQL('Select top 1 1'+FimLinhaStr+                      'From Clientes'+FimLinhaStr+                      'Where CliCod = '''+AdoQueryCliCod.AsString+''' '); ExecutaSQL('Select top 1 1'+FimLinhaStr+                       'From Clientes'+FimLinhaStr+                       'Where CliCod = '''+AdoQueryCliCod.AsString+''' ', FormMain.DataBase); ExecutaSQL('Select top 1 1'+FimLinhaStr+                       'From Clientes'+...

REGEX - Fundamentos

ABAIXO REGEX MUITO UTEIS PARA FACILITAR A REFATORAÇÃO, ETC... ORDENADO DE MAIOR USO E MENOR COMPLEXIDADE PARA MENOR USO E MAIOR COMPLEXIDADE: DELPHI//OBJECT-PASCAL//SQL-SERVER    PASSA PARA UPPERCASE:                LOCALIZAR:.* SUBSTITUIR:\U$0 PASSA PARA LOWCASE:                    LOCALIZAR:.* SUBSTITUIR:\L$0 REMOVE ESPAÇOS EXTRAS: LOCALIZAR:(\w)  +(\w) SUBSTITUIR:$1 $2 MOVE VIRGULA PARA ANTES DA QUEBRA DE LINHA: LOCALIZAR: *(\r\n *) , SUBSTITUIR:,$1  SCRIPT SQL (DELPHI TO SQL): L:('')|(^ *')|(',?$) S:?1':?2:?3 CONVERT UPDATE TO SELECT: L:(update)| .*? set|(?: |^)(.*?) ?= ?(.*?)(, ?|$)(?s)(?=.*from) S:?1SELECT:?2 $2, $3$4 ACERTAR DATA NA REGION: L:^  (?: {10})(.*?)(\d{2}(?:-|/)\d{2}(?:-|/)\d{4}) -  S:  $2$1 DELPHI-SQL SEPARAR CAMPOS EM LINHAS SEPARADAS: LOCALIZAR:( \w*,)(?!'\);) SUBSTITUIR:$1'\);\r\n      SQL.ADD\('  INVERTER OPERADOR E OPERA...