[Rio-pm] negacao com regex /^x/

Lucas Mateus lucasmateus.oliveira em gmail.com
Terça Abril 7 13:47:13 PDT 2009


> "^" só é negação dentro da especificação de uma classe de caracteres:
> [^a] (todos os caracteres menos o "a").
> Fora de uma classe de caracter, "^" é uma asserção de largura nula que
> ancora pro começo da string.

Caraio isso ta parecendo um texto jurídico.







On Tue, 07 Apr 2009 17:39:59 -0300, Eden Cardim <edencardim em gmail.com>  
wrote:

> 2009/4/7 Victor Ramos <victornrm em gmail.com>:
>> me surgiu uma duvida, não sei c eh um bug do perl o.0
>> vejamos
>> :~$date
>> Ter Abr  7 17:20:00 BRT 2009
>> :~$cat facu_ou_folga.pl
>> if ( `date` =~ /Sab|Dom/) {
>>   print "Folga!\n";
>> } else {
>>   print "Facu\n";
>> }
>> :~$perl facu_ou_folga.pl
>> Facu
>>
>> perfeito
>> agora, tentando ao contrario usando a negacao.
>> :~$cat facu_ou_folga.pl
>> if ( `date` =~ /^(Sab|Dom)/) {
>>   print "Facu!\n";
>> } else {
>>   print "Folga\n";
>> }
>> :~$perl facu_ou_folga.pl
>> Folga
>> :~$
>>
>> Oque ouve? estou usando a negação "^", a logica deveria ser, caso não  
>> achar
>> Sab ou Dom,  tirei como exemplo do learning perl(A.13. Answers to  
>> Chapter 14
>> Exercises), q tem um assim:
>>     if (`date` =~ /^S/) {
>>       print "go play!\n";
>>     } else {
>>       print "get to work!\n";
>>     }
>>
>> com um obs: "If we had to use this in a real-world program, we'd  
>> probably
>> use the pattern /^(Sat|Sun)/"
>>
>> eu percebi que posso negar com o not (não logico) "!" :
>> :~$cat facu_ou_folga.pl
>> if ( `date` =~ !/(Sab|Dom)/) { # unless ( `date` =~ /(Sab|Dom)/) {
>>   print "Facu!\n";
>> } else {
>>   print "Folga\n";
>> }
>> :~$perl facu_ou_folga.pl
>> Facu!
>> :~$
>>
>> alguem me socorre?
>
> "^" só é negação dentro da especificação de uma classe de caracteres:
> [^a] (todos os caracteres menos o "a").
> Fora de uma classe de caracter, "^" é uma asserção de largura nula que
> ancora pro começo da string.
>



-- 
Lucas Mateus
Núcleo de Páginas Rápidas e SEO
Fone: 55 11 3065-9978
MSN: lucasmateus_777 em hotmail.com


Mais detalhes sobre a lista de discussão Rio-pm