Postagens

Mostrando postagens com o rótulo REGEXP

MySQL - Filtrando CEP com a ajuda do REGEXP

Vamos a uma dica rápida de REGEXP, utilizando como base a seleção de linhas em uma tabela que possuem CEP preenchido. Nossa tabela possui a seguinte estrutura: ID Endereço CEP 1 Rua peruibe 459 05698426 2 Rua martim 67 - 3 Av Rebouças 1000 08968547 Para selecionar apenas as linhas que possuem CEP utilizamos a seguinte Query: SELECT ID,ENDERECO,CEP FROM tabela WHERE CEP REGEXP '^0[0-9]{7}$'  O que nossa REGEXP faz? ^0  : faz com que o MySQL olhe a partir do primeiro caractere e pegue apenas os valores com zero; [0-9]{7}  : após o primeiro caractere, que deve ser zero, pega os campos cujos próximos 7 valores sejam numéricos $  : finaliza o REGEXP, ignorando tudo mais que venha depois dos oito caracteres numéricos indicados anteriormente. O resultado da Query seria: ID Endereço CEP 1 Rua peruibe 459 05698426 3 Av Rebouças 1000 08968547 Abraço!

PHP - Usando REGEXP ou Expressão Regular para selecionar strings com acentos

REGEXP ou Expressões Regulares já sabemos que são bem complicados, mas esta dica é bem tranquila. Quantas vezes você já não tentou selecionar aquelas palavras ou frases e quando percebeu... tinha um monte de acentos! Como consequência ou a palavra não é selecionada ou só um pedaço dela. Vamos começar com o exemplo abaixo utilizando uma frase de Albert Einstein : <?php  $html = "<blockquote><p>mais fácil é explodir um <strong>átomo</strong> que um preconceito.</p></blockquote><p><em>Albert Einstein</em></p>"; preg_match_all('/<strong>([a-z]*)/',$html,$cotacao); var_dump($cotacao); Teremos como resposta: array(2) {   [0]=>   array(1) {     [0]=>     string(8) "<strong>"   }   [1]=>   array(1) {     [0]=>     string(0) ""   } } Nossa REGEXP não foi muito feliz. Queríamos pegar toda a palavra...

MySQL - REGEXP (EXPRESSÕES REGULARES) no MySQL

Expressões regulares são um tema, diriamos, meio "cabeludo" pois a sua sintaxe não ajuda muito no quesito "dicas de como funciona". Geralmente trabalhar bem com REGEXP significa muito tempo de prática para "pegar o jeito" mais do que decorar livros ou soluções prontas. Mas não é por isto que vamos desanimar de trabalhar com elas, pois são extremamente poderosas. O que alguns podem não saber, ou sabem mas não estão familiarizados, é que podemos utilizar também nos bancos de dados as famosas REGEXPs , alguns com mais outros com menos restrições. As REGEXPs também nos passam a falsa ilusão de que podemos utilizá-las não só para filtrar dados mas também para pegar "pedaços" da informação já selecionada. Vamos tratar disto mais adiante. Nosso foco hoje é ver um pouco das expressões regulares aplicadas no MySQL , as armadilhas, equivocos e soluções desta ferramenta tão poderosa. Infelizmente o MySQL não aceita todas as REGEXPs que, por exemplo...

PHP - REPL, teste códigos php assim como no console do FireFox ou Chrome

Imagem
Em minhas pesquisas semanais descobri algo muito interessante que quero dividir com vocês e que se chama REPL. Opa, mas o que é isto? O título deste post provavelmente já deu uma pista. REPL (Read-Eval-Print Loop) é um interpretador de linha de comando que executa seu código assim que você aperta o Enter. Se você já trabalhou com Javascript e já fez testes no painel de desenvolvedor do Chrome ou no FireBug do FireFox sabe bem do que estou falando. O PHP também possui um REPL. Para ativá-lo no Linux basta abrir um terminal e digitar: $php -a Deve aparecer em seu terminal o seguinte: php >  Isto indica que entramos no REPL do PHP. Podemos 'brincar' agora com o REPL. php > echo "Ola REPL"; Isto retorna: Ola REPL Um uso interessante do REPL é testar expressões regulares, que são bem chatas, e que sempre temos de testar bastante (pelo menos eu) para encontrar o melhor comportamento. php > echo preg_match('/[0-9]+/','Aqui tem ...

Linux/Apache - Reescrevendo URLs no padrão wordpress ou extensão html com .htaccess e php.

Está ai algo bem interessante e que eu passei certo tempo pesquisando. Para quem não pretende utilizar frameworks, como wordpress por exemplo, para criar web sites mas gosta bastante do modelo de url que estas ferramentas disponibilizam esta dica é bem interessante. Esta técnica também permite criar diretórios lógicos, ou seja, ao invés de criar pastas para colocar seus arquivos esta técnica permite que os diretórios sejam interpretados como parâmetros. Para isto utilizamos um arquivo chamado .htaccess do Apache. O .htaccess nada mais é do que um arquivo colocado em qualquer pasta do seu servidor Apache que serve para modificar as regras padrão de busca e interpretação de arquivos, ou seja, podemos mudar o comportamento de como o Apache faz a busca quando digitamos um endereço no browser. Hoje vou apresentar um exemplo muito simples mas extremamente útil e que eu mesmo utilizo em meus projetos. Este truque me ajudou a manter a antiga estrutura que eu utilizava, sem a necess...

Regexp - Encontrando o conteúdo até o primeiro ponto

Podemos dizer que REGEXP é uma arte, uma fina arte porque envolve muito, mas muito tempo de aprendizado e prática, além de ser bem "elegante" já que ao invés de usarmos milhares de comandos e "despedaçarmos" as strings para encontrar algo, o REGEXP nos permite fazer isto com apenas uma linha, e muitas vezes com meia duzia de caracteres. Uma dificuldade comum é capturar todo o conteúdo entre um certo padrão e outro quando queremos apenas que esta captura seja somente até a primeira ocorrência, e não todas até a ultima. Um exemplo utilizando uma palavra inicial até o primeiro ponto: /palavra.*\./ Este padrão irá encontrar "Nesta frase existe uma palavra que deverá ser encontrada. Mas ela não foi. " Ou seja, irá pesquisar até o ultimo ponto possível. Mas não queremos isto. Queremos que ele encontre até o primeiro ponto apenas. Para isto colocamos uma negação [^.] no REGEXP A expressão fica: /palavra.[^.]*\./ Este padrão irá encontrar ...