[Cascavel-pm] Tradução de expressão regular

Luis Campos de Carvalho monsieur_champs em yahoo.com.br
Quarta Setembro 21 19:18:06 PDT 2005


Nelson Ferraz wrote:
>>$variavel_um =~ /([^\/\\]+)$/;
> 
> 
> O "$" no final da expressão regular indica que a pesquisa deve ser feita no final da string. Os parenteses indicam que a regexp irá retornar o que for encontrado.
> 
> [^x] bate com qualquer coisa diferente de "x"
> 
> Como os caracteres / e \ são especiais, é necessário "escapá-los": \/ e \\ respectivamente.
> 
> [^\/\\] bate com qualquer coisa diferente de "\" e "/"
> 
> [^\/\\]+ significa uma ou mais ocorrências de qualquer caractere diferente de "\" e "/"
> 
> Ou seja... estamos procurando "uma ou mais ocorrências de qualquer caractere diferente de \ e /" no final da string. Isso parece familiar?

   Certamente. Todos os sistemas de arquivos descendentes do Berckley 
Unix, do Multics e das implementações de CP/M (inclusive o DOS) utilizam 
padrões assim para nomes de arquivos, no final de caminhos.

>>$variavel_dois =~ s/^\.+//;
> 
> s/foo/bar/ substitui "foo" por "bar" em uma string. No caso, estamos substituindo /^\.+/ por vazio.
> 
> O "^" no início da expressão indica que a substituição deve ser feita no início da string.
> 
> Novamente estamos "escapando" um caractere: \.+ indica que queremos um caractere ponto, uma ou mais vezes.
> 

   Isto também soa familiar. Me parece alguém tentando "apagar" os 
caracteres '.' utilizados para expressar "diretório corrente" em um 
sistema de arquivos descendente ou do Multics, ou do Berckley Unix ou do 
CP/M...

-- 
=======================================================
   Luis Campos de Carvalho is BsC in Computer Science,
   Certified Oracle DBA, UNIX and Linux lover, Perl
   Fanatic and Leader of the Sao Paulo Perl Mongers
   http://br.geocities.com/monsieur_champs/
=======================================================

	

	
		
_______________________________________________________ 
Novo Yahoo! Messenger com voz: ligações, Yahoo! Avatars, novos emoticons e muito mais. Instale agora! 
www.yahoo.com.br/messenger/


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