Login: Senha: Registrar-se - Esqueci minha senha
.: Menu
Home
Artigos
Sign. dos Sonhos
Papel de Parede
Ilusões de Ótica
.: Bancos
Emoticons e Gifs
Ícones
Logos
.: Serviços
Mural de Recados
Usuários Online
Bloco de Notas
Formmail
Meu IP
.: Geradores
Gerador de Senhas
Barra de Rolagem
Recomende
Pop-up
Inverter Link
.: Canais
Apostilas
Arte/Cultura
Blog
Busca
Celular
Downloads
E-mail Grátis
Emoticons
Esportes
Filmes
Flogs
Fontes
GTA Mods
Host Grátis
Humor
Infantil
Informática
Jogos
Jogos Online
Linux
Músicas
Notícias
Offline
Redirecionadores
Sites Parceiros
Webdesigners
Webmasters
.: Na Faixa
Sobre
Contato
Recomende-nos
Termos de uso

Usando Expressões Regulares no SELECT

Enviado em 02/04/2012 - 06:55
Fonte: A A A A

Estava procurando um artigo que me ajuda-se com um select basico utilizando expressão regular, encontrei o artigo abaixo e estou repostando aqui no nafaixa para futuras pesquisas, abaixo do artigo confira o site onde encontrei e a fonte original.

// ------------------- //

Antes de mais nada, quem é esse tal de REGEX? Não passa de uma abreviação (do ingês) de Expressões Regulares. E de forma breve, "Uma expressão regular, na Informática, define um padrão a ser usado para procurar ou substituir palavras ou grupos de palavras. É um meio preciso de se fazer buscas de determinadas porções de texto", exemplo básico:

No MySQL utilizamos duas funções nativas que geram mesmo resultado (também me pergunto o porque de se criar vários nomes para a mesma coisa) são elas:

REGEXP e RLIKE


Eu prefiro o nome RLIKE mais não interessa, sendo assim segue uns exemplos do que se pode fazer com isso:
1 - Selecionar registros que começam com números de 0 à 9
select * from tabela where meu_campo RLIKE "^[0-9][~]*"

^[0-9] = Os colchetes indicam que haverá uma busca por um caracter, o acento circunflexo indica que será procurado no início da string e 0-9 indica que os números irão variar entre 0 e 9 (0,1,2,3 ? 9)

[~]* = Isso aqui é legal, estou usando no meu TCC, indica qualquer coisa.

2 - Selecionar registros que terminam com números de 0 à 9
select * from tabela where meu_campo RLIKE "[0-9]$"

$ = Ao contrário do acento circunflexo o cifrão é utilizado para indicar que a busca será realizada no final da string.

3 - Selecionar registros que contenham arroba e ponto (e-mail)
Esse é bem simples, deve ser melhorado para consultas por e-mails válidos, você também pode pegar a lógica do post feito pelo Couto usado no PHP sobre isso, Clicando Aqui.
select * from tabela
where email REGEXP "^[A-Z 0-9][^@~] [A-Z 0-9][@][A-Z 0-9][^@_~]*"



Lembrando que isso eu fiz aqui rapidinho para mostrar a lógica da coisa, e que deve da pra simplifica muito ali em cima e deve te um monte de bug, mais explicando o que eu fiz:

^[A-Z 0-9][^@~] [A-Z 0-9][@] = Procura no início da string que comecem por números ou letras de A à Z seguidos de qualquer coisa menos arroba (pra não pegar e-maisl com várias arrobas), sendo que o ultimo caracter antes da arroba deverá ser números ou letras para não acontecer algo do tipo .@ ou _@, continuando temos apenas uma arroba.

[A-Z 0-9][^@_~]* = Finalizando a lógica temos a início com caracter ou número seguidos de qualquer coisa menos arroba e underline, (essa parte ta MUITO ruim)

4 - Finalizando
Esperando que isso tenha ajudado alguem a ter uma noção, caso contrário só lamento, e desculpem as falhas, foi escrito mediante uma arma apontada na cabeça.

Fonte: Blog Nodesign

 

Encontrei no Oficina da Net


Enviado por: brunohcs

Esse artigo foi visualizado 1457 vezes

Compartilhe este artigo
facebook del.icio.us rec6 digg
Recomende este artigo a um amigo


Voltar
>> Comentários
 
Related Posts Plugin for WordPress, Blogger...
Comentar
Buscar Artigos:
.: Mods de GTA
GTA SA, VC, IV
SA - Carros
IV - Carros
Mods
GTA IV
SA - Mods Cleo
.: Saúde
Calculadora de IMC
Peso Ideal
Artigos de Saúde
.: Jogos Online
Ação
Aventura
Cassino
Classicos
Colorir
Corrida
Educativos
Esporte
Estrategia
Infantil
Luta
Meninas
Nave
Tiro
Outros
Adulto
Top Jogos
.: Parceiros
Mural de Recados Grátis
Papel de Parede
Show Moto
Web Visual
.: Nossos Números
Artigos: 930
Categorias: 50
Comentarios: 1863
Usuarios: 26633
Blocos de Nota: 87
Canais: 169

website monitoring service
eXTReMe Tracker
Na Faixa.net - Todos os direitos reservados. 12/2003 - 04/2024
Leia nossos Termos de Uso - Política de Privacidade
Desenvolvido por Web Visual
Crie seu Site - Papel de Parede Grátis - Show Moto - Mural de Recados Grátis - Dicas10