[SP-pm] Encontrar valor em regex armazenada em banco de dados

Italo Gonçales italo.goncales at gmail.com
Wed Sep 30 06:14:19 PDT 2015


olá Carneiro,

É porque a atr, é um dado que vem do chip do cartão, estou lendo o mesmo a
partir de uma leitora de smartcard, e buscando as informações sobre esta
atr no banco.

Em 30 de setembro de 2015 10:09, Andre Carneiro <
andregarciacarneiro at gmail.com> escreveu:

> Estou tentando entender porque voce está tentando buscar pelo conteúdo de
> 'atr' e nao pelo conteúdo de 'name'. De qq forma, creio que voce pode
> tentar usar RLIKE do próprio Mysql como o Vinciguerra sugeriu(ele foi mais
> rápido que eu... :P). Dependendo do tamanho dessa tabela, podería-se pensar
> em usar FTS, embora não pareça ser o caso.
>
>
>
> Atenciosamente
>
> 2015-09-30 8:38 GMT-03:00 Italo Gonçales <italo.goncales at gmail.com>:
>
>> Bom dia!
>>
>> Estou migrando uma aplicação java stand alone para WebService usando
>> Catalyst e MySQL, quando me deparei com um caso atípico do meu dia a dia. A
>> antiga base de dado ( em txt ) da aplicação java possui expressões
>> regulares nas chaves que estou utilizando para a busca ( e que é a única
>> que eu tenho ).
>>
>> Gostaria de saber se há alguma maneira de buscar um valor que corresponda
>> à regex armazenada no banco de dados?
>>
>> Testei pelo MySQL e funcionou, mas não consigo fazer o mesmo select no
>> perl.
>>
>> Segue busca de exemplo:
>>
>> mysql> SELECT * FROM card where '3B45978551FE119864' RLIKE atr;
>>
>> +----------------------------------+----------------------------------------+
>> | atr                                      | name
>>               |
>>
>> +-----------------------------------+---------------------------------------+
>> | 3B[0-9]{4}8551FE119864  | S12-468                                  |
>>
>> Tentei usar o search_like, search com '-rlike' e search com '-like', mas
>> nada funcionou. Tentei inverter na query do search também, mas não deu
>> muito certo.
>>
>> Tentativas:
>> $card_rs->search({ atr => { -like => $atr } })->single;
>>
>> $card_rs->search({ atr => { -rlike => $atr } })->single;
>>
>> $card_rs->search({ $atr => { -rlike => atr } })->single;
>>
>> Gostaria de saber se há alguma outra maneira de fazer essa busca no perl.
>>
>> Obrigado!
>>
>> --
>>
>> Att,
>>
>> Italo Gonçales
>> Perl Developer at Morpho
>> +55 12 98134 0318
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> André Garcia Carneiro
> Software Engineer
> (11)982907780
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 


Att,

Italo Gonçales
Perl Developer at Morpho
+55 12 98134 0318
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20150930/765bc657/attachment.html>


More information about the SaoPaulo-pm mailing list